唉,今天心情有點糟糕,我就少說一些啰嗦的話了。
(旁白:太好了…)
上一章傳送門:http://www.49028c.com/tech/jiaoben/lua/265349.html
經過前面幾章的介紹,相信大家對Lua的堆棧已經比較熟悉了,如果還不是很熟悉的朋友,建議多看幾遍前面的教程,或者多敲幾次代碼。
那么,如果已經對Lua的堆棧比較熟悉,接下來的內容就很簡單了。
今天我們來看看C++如何調用Lua的函數,先看看現在Lua文件是什么樣的:
helloTable = {name = "mutou", IQ = 125}
function helloAdd(num1, num2)
return (num1 + num2)
end;
/* 執行腳本 */
luaL_dofile(pL, "helloLua.lua");
/* 把helloAdd函數對象放到棧中 */
lua_getglobal(pL, "helloAdd");
/* 把函數所需要的參數入棧 */
lua_pushnumber(pL, 10);
lua_pushnumber(pL, 5);
/*
執行函數,第一個參數表示函數的參數個數,第二個參數表示函數返回值個數 ,
Lua會先去堆棧取出參數,然后再取出函數對象,開始執行函數
*/
lua_call(pL, 2, 1);
int iResult = lua_tonumber(pL, -1);
CCLOG("iResult = %d", iResult);
}
下一章我們介紹在Lua中調用C++的函數~!
(旁白:這個我喜歡~?。?/p>
新聞熱點
疑難解答