最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2014年09月23日 10:44:05   作者:iCode0410  
這篇文章主要介紹了Lua中的動(dòng)態(tài)鏈接實(shí)例,動(dòng)態(tài)鏈接是指在Lua中使用C編譯的動(dòng)態(tài)庫(kù),需要的朋友可以參考下

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

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

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

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

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

 作為一個(gè)簡(jiǎn)單的實(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ù)比較簡(jiǎn)單,沒有參數(shù),沒有返回值,具體的接口規(guī)范還需研究。

相關(guān)文章

  • 解析Lua中的全局環(huán)境、包、模塊組織結(jié)構(gòu)

    解析Lua中的全局環(huán)境、包、模塊組織結(jié)構(gòu)

    Lua中也擁有和Python世界相似的代碼的作用范圍和組織方式,下面我們就來(lái)簡(jiǎn)單解析Lua中的全局環(huán)境、包、模塊組織結(jié)構(gòu),需要的朋友可以參考下
    2016-06-06
  • Lua中的loadfile、dofile、require詳解

    Lua中的loadfile、dofile、require詳解

    這篇文章主要介紹了Lua中的loadfile、dofile、require詳解,本文分別用實(shí)例講解它的用法和特點(diǎn)等內(nèi)容,需要的朋友可以參考下
    2014-09-09
  • C++中調(diào)用Lua函數(shù)實(shí)例

    C++中調(diào)用Lua函數(shù)實(shí)例

    這篇文章主要介紹了C++中調(diào)用Lua函數(shù)實(shí)例,本文給出了Lua和C++的代碼,并對(duì)步驟做了講解,需要的朋友可以參考下
    2014-09-09
  • 利用Lua定制Redis命令的方法詳解

    利用Lua定制Redis命令的方法詳解

    這篇文章主要給大家介紹了關(guān)于利用Lua定制Redis命令的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-03-03
  • Lua中的table學(xué)習(xí)筆記

    Lua中的table學(xué)習(xí)筆記

    這篇文章主要介紹了Lua中的table學(xué)習(xí)筆記,本文講解了table.concat、table.insert、table.maxn、table.pack、 table.remove、table.sort等方法的使用,需要的朋友可以參考下
    2014-12-12
  • Lua模塊和模塊載入淺析

    Lua模塊和模塊載入淺析

    這篇文章主要介紹了Lua模塊和模塊載入淺析,Lua模塊其實(shí)就是以.lua結(jié)尾的文件,模塊載入可以用requeire或者dofile,需要的朋友可以參考下
    2014-09-09
  • Lua中table的一些輔助函數(shù)介紹

    Lua中table的一些輔助函數(shù)介紹

    這篇文章主要介紹了Lua中table的一些輔助函數(shù)介紹,這些函數(shù)組成了table的函數(shù)庫(kù),需要的朋友可以參考下
    2014-09-09
  • Lua中全局變量與非全局環(huán)境介紹

    Lua中全局變量與非全局環(huán)境介紹

    這篇文章主要介紹了Lua中全局變量與非全局環(huán)境介紹,本文講解了全局變量的原形、非全局的環(huán)境、改變函數(shù)的全局變量環(huán)境、使用__index元方法保留原來(lái)的_G,需要的朋友可以參考下
    2014-09-09
  • Lua中使用table實(shí)現(xiàn)的其它5種數(shù)據(jù)結(jié)構(gòu)

    Lua中使用table實(shí)現(xiàn)的其它5種數(shù)據(jù)結(jié)構(gòu)

    這篇文章主要介紹了Lua中使用table實(shí)現(xiàn)的其它5種數(shù)據(jù)結(jié)構(gòu),本文用table為基礎(chǔ),實(shí)現(xiàn)了數(shù)組、鏈表、隊(duì)列、集合等數(shù)據(jù)類型,需要的朋友可以參考下
    2014-09-09
  • Lua面向?qū)ο缶幊虒W(xué)習(xí)筆記

    Lua面向?qū)ο缶幊虒W(xué)習(xí)筆記

    這篇文章主要介紹了Lua面向?qū)ο缶幊虒W(xué)習(xí)筆記,本文講解了Lua中實(shí)現(xiàn)類的例子、類之間繼承的例子等內(nèi)容,需要的朋友可以參考下
    2014-12-12

最新評(píng)論

昂仁县| 凤凰县| 海南省| 洱源县| 平舆县| 凤山县| 杭锦后旗| 兴山县| 南皮县| 临桂县| 门源| 从江县| 永靖县| 马公市| 婺源县| 沧源| 乌兰县| 丁青县| 耿马| 海城市| 湖北省| 木里| 惠来县| 阳信县| 台东县| 安义县| 全州县| 太白县| 于田县| 大宁县| 大新县| 姜堰市| 哈巴河县| 淮滨县| 修水县| 麦盖提县| 保亭| 红原县| 磐石市| 东平县| 太仓市|