麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發(fā) > 綜合 > 正文

Lua中的動態(tài)鏈接實(shí)例

2024-07-21 23:04:07
字體:
供稿:網(wǎng)友

C語言應(yīng)用程序中經(jīng)常使用動態(tài)鏈接機(jī)制集成各個模塊;不過,動態(tài)鏈接機(jī)制并不是ANSI C標(biāo)準(zhǔn)的一部分,也就是說實(shí)現(xiàn)方法是不可以移植的。

Lua通常不會包含任何無法通過ANSI C來實(shí)現(xiàn)的機(jī)制,如果動態(tài)鏈接是一個例外。Lua打破了對可移植性的準(zhǔn)則,為幾種平臺實(shí)現(xiàn)了一套動態(tài)鏈接機(jī)制。

package.loadlib是動態(tài)鏈接功能的核心函數(shù),接收兩個參數(shù):動態(tài)庫的完整路徑名、函數(shù)名稱。

loadlib函數(shù)加載指定的庫,并將其鏈接入Lua;如你所想,并不會調(diào)用庫中的任何函數(shù),而是將一個C函數(shù)作為Lua函數(shù)返回;如果load過程中發(fā)生任何錯誤,返回nil。

loadlib是一個比較底層的函數(shù),通常使用require來加載C程序庫,這個函數(shù)會搜索指定的程序庫,然后調(diào)用loadlib來加載庫,并返回初始化函數(shù),這個初始化函數(shù)應(yīng)將庫中提供的函數(shù)注冊到Lua中。

 作為一個簡單的實(shí)例:

 

復(fù)制代碼 代碼如下:

hello.c
#include<stdio.h>
 
void hello(){
printf("hello,world/n");
}

編譯:gcc -o libhello.so -fPIC -shared hello.c
復(fù)制代碼 代碼如下:

> f = package.loadlib('${pathhere}/libhello.so', 'hello')
> f()
hello,world

 

hello()函數(shù)比較簡單,沒有參數(shù),沒有返回值,具體的接口規(guī)范還需研究。

 
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 国内精品视频饥渴少妇在线播放 | 日本aaa一级片 | 一区二区三区视频在线观看 | 今井夏帆av一区二区 | 日韩视| 欧美极品欧美精品欧美视频 | xxxxxx视频 | 美国av免费看 | 久久色在线| 欧美一级黄色录相 | 黄色毛片一级 | 欧美精品一区二区三区在线 | 成人福利视频在线观看 | 久国久产久精永久网页 | 欧美一级黄色影院 | 午夜久久久精品一区二区三区 | 91精品国产92久久久久 | 欧美成在线视频 | 毛片视频网站 | 欧美国产一区二区三区 | 成人男女激情免费视频 | 精品亚洲夜色av98在线观看 | 国产羞羞视频免费在线观看 | 在线视频1区 | 羞羞电影网 | 色阁五月 | 羞羞网站在线看 | 国产妞干网 | 偿还的影视高清在线观看 | 久久久精品视频网站 | 亚洲成a| 国产亚洲综合一区二区 | 成人午夜视频网站 | 久草在线新时代视觉 | 国产成人精品一区在线播放 | 国产精品自拍av | 一区二区久久久久草草 | 国产一区二区三区四区精 | free japan xxxxhdsex69| 欧美日韩1区2区3区 黄片毛片一级 | 春光影院理论片 |