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

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

 更新時間:2014年09月12日 12:22:11   作者:笨木頭  
這篇文章主要介紹了C++中調(diào)用Lua函數(shù)實例,本文給出了Lua和C++的代碼,并對步驟做了講解,需要的朋友可以參考下

唉,今天心情有點(diǎn)糟糕,我就少說一些啰嗦的話了。
(旁白:太好了…)

上一章傳送門:http://www.fzitv.net/article/55096.htm

經(jīng)過前面幾章的介紹,相信大家對Lua的堆棧已經(jīng)比較熟悉了,如果還不是很熟悉的朋友,建議多看幾遍前面的教程,或者多敲幾次代碼。

那么,如果已經(jīng)對Lua的堆棧比較熟悉,接下來的內(nèi)容就很簡單了。

今天我們來看看C++如何調(diào)用Lua的函數(shù),先看看現(xiàn)在Lua文件是什么樣的:

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

-- helloLua.lua文件
myName = "beauty girl"

helloTable = {name = "mutou", IQ = 125}

function helloAdd(num1, num2)
 return (num1 + num2)
end;


我們看到多了個helloAdd函數(shù),那么,現(xiàn)在我們要用C++調(diào)用這個函數(shù)。
(旁白:肯定又要用到getglobal了,每次都有它~!= =)
 
直接上代碼了:
復(fù)制代碼 代碼如下:

/* C++調(diào)用lua的函數(shù) */
void HelloLua::demo3() {
    lua_State* pL = lua_open();
    luaopen_base(pL);

    /* 執(zhí)行腳本 */
    luaL_dofile(pL, "helloLua.lua");

    /* 把helloAdd函數(shù)對象放到棧中 */
    lua_getglobal(pL, "helloAdd");

    /* 把函數(shù)所需要的參數(shù)入棧 */
    lua_pushnumber(pL, 10);
    lua_pushnumber(pL, 5);

    /*
        執(zhí)行函數(shù),第一個參數(shù)表示函數(shù)的參數(shù)個數(shù),第二個參數(shù)表示函數(shù)返回值個數(shù) ,
        Lua會先去堆棧取出參數(shù),然后再取出函數(shù)對象,開始執(zhí)行函數(shù)
    */
    lua_call(pL, 2, 1);

    int iResult = lua_tonumber(pL, -1);
    CCLOG("iResult = %d", iResult);
}


簡單說明一下步驟:
1) 執(zhí)行腳本(旁白:我就知道你會說廢話。。。)
2) 將helloAdd函數(shù)放到棧中:lua_getglobal(pL, “helloAdd”) 。(旁白:看吧,我就知道~!)
3) helloAdd有2個參數(shù),我們要把參數(shù)傳遞給lua,所以2個參數(shù)都要放到棧里。
4) 第2和第3步已經(jīng)把函數(shù)所需要的數(shù)據(jù)都放到棧里了,接下來只要告訴lua去棧里取數(shù)據(jù),執(zhí)行函數(shù)~! 調(diào)用lua_call即可,注釋已經(jīng)很詳細(xì)了,這里就不重復(fù)了。
(旁白:太簡單了點(diǎn)吧,反正不管做什么事情,把東西丟到棧里,然后從棧里取東西,就OK了~你可以滾了,以后教程我來寫,你負(fù)責(zé)吐槽~)
 
來,大家忽略旁白,教程什么的還是我來寫比較好,主要是,吐槽這工作,不符合我的身份~
(旁白:…我有種被打擊了的感覺)
 
本章到此結(jié)束,很簡單吧?~

下一章我們介紹在Lua中調(diào)用C++的函數(shù)~!
(旁白:這個我喜歡~?。?/p>

相關(guān)文章

  • Lua中實現(xiàn)php的strpos()以及strrpos()函數(shù)

    Lua中實現(xiàn)php的strpos()以及strrpos()函數(shù)

    這篇文章主要介紹了在Lua中實現(xiàn)php的strpos()以及strrpos()函數(shù)的方法,需要的朋友可以參考下
    2014-11-11
  • 把Lua編譯進(jìn)nginx步驟方法

    把Lua編譯進(jìn)nginx步驟方法

    這篇文章主要介紹了把Lua編譯進(jìn)nginx步驟方法,本文講解了操作步驟以及可能出現(xiàn)的錯誤解決方法,需要的朋友可以參考下
    2015-06-06
  • Lua操作字符串的5個代碼片段分享

    Lua操作字符串的5個代碼片段分享

    這篇文章主要介紹了Lua操作字符串的5個代碼片段分享,本文講解了匹配字符串中的數(shù)字、字母和下劃線、替換字符串中的指定字符、判斷字符串中是否有目標(biāo)字串、從文件的絕對路徑中獲取到文件名等內(nèi)容,需要的朋友可以參考下
    2015-04-04
  • Lua中table庫函數(shù)方法介紹

    Lua中table庫函數(shù)方法介紹

    這篇文章主要介紹了Lua中table庫函數(shù)方法介紹,本文講解了concat、insert、maxn、remove、sort、foreachi等方法,需要的朋友可以參考下
    2014-11-11
  • Lua中的協(xié)同程序詳解

    Lua中的協(xié)同程序詳解

    這篇文章主要介紹了Lua中的協(xié)同程序詳解,本文非常詳細(xì)的講解了Lua中的協(xié)同程序,同時講解了生產(chǎn)者-消費(fèi)者問題,需要的朋友可以參考下
    2014-09-09
  • Lua腳本實現(xiàn)遞歸刪除一個文件夾

    Lua腳本實現(xiàn)遞歸刪除一個文件夾

    這篇文章主要介紹了Lua腳本實現(xiàn)遞歸刪除一個文件夾,本文給出了C++和Lua兩個版本的實現(xiàn)代碼,需要的朋友可以參考下
    2015-05-05
  • Lua教程(二十二):userdata

    Lua教程(二十二):userdata

    這篇文章主要介紹了Lua教程(二十二):userdata,這里我們通過一個簡單完整的示例來學(xué)習(xí)一下Lua中userdata的使用方式,需要的朋友可以參考下
    2015-04-04
  • Lua中關(guān)于元方法的一些知識點(diǎn)小結(jié)

    Lua中關(guān)于元方法的一些知識點(diǎn)小結(jié)

    這篇文章主要介紹了Lua中關(guān)于元方法的一些知識點(diǎn)小結(jié),本文講解了兩個具有不同元表的值進(jìn)行算術(shù)操作、關(guān)系類的元方法、保護(hù)元表,需要的朋友可以參考下
    2014-09-09
  • Lua table的concat方法使用實例

    Lua table的concat方法使用實例

    這篇文章主要介紹了Lua table的concat方法使用實例,本文講解了concat方法的用法及使用實例,需要的朋友可以參考下
    2015-04-04
  • Lua中創(chuàng)建全局變量的小技巧(禁止未預(yù)期的全局變量)

    Lua中創(chuàng)建全局變量的小技巧(禁止未預(yù)期的全局變量)

    這篇文章主要介紹了Lua中創(chuàng)建全局變量的小技巧(禁止未預(yù)期的全局變量),使用本文方法可以實現(xiàn)避免創(chuàng)建全局變量,在必須使用全局變量的情況下也給出了實現(xiàn)技巧,需要的朋友可以參考下
    2014-12-12

最新評論

吴川市| 育儿| 旬阳县| 墨脱县| 汝阳县| 尤溪县| 南涧| 莫力| 金坛市| 泾阳县| 辽源市| 韶山市| 友谊县| 溧水县| 阿鲁科尔沁旗| 仪陇县| 翁源县| 宝清县| 华亭县| 松江区| 内乡县| 彝良县| 修水县| 隆子县| 五河县| 稻城县| 新晃| 衡水市| 迁安市| 南京市| 冷水江市| 桐乡市| 土默特左旗| 元江| 连山| 丹寨县| 荥阳市| 成都市| 宁强县| 喀什市| 澄迈县|