2
我正在嘗試使用tolua ++庫來將Lua腳本嵌入到我的C++應用程序中。對我來說很清楚,如何將C++類綁定到Lua,通過Lua腳本和調用方法創建它們。但是,我不能真正瞭解如何從C++調用Lua腳本函數(通過傳遞參數並獲取返回值)。tolua ++從C++代碼中調用Lua函數
你可以說使用tolua ++做這個的標準方法嗎?是否tolua ++覆蓋,或者我必須使用Lua C Api?
我正在嘗試使用tolua ++庫來將Lua腳本嵌入到我的C++應用程序中。對我來說很清楚,如何將C++類綁定到Lua,通過Lua腳本和調用方法創建它們。但是,我不能真正瞭解如何從C++調用Lua腳本函數(通過傳遞參數並獲取返回值)。tolua ++從C++代碼中調用Lua函數
你可以說使用tolua ++做這個的標準方法嗎?是否tolua ++覆蓋,或者我必須使用Lua C Api?
你應該使用CAPI,它是這樣的:
在Lua:
function showValue(strFirstName, strLastName)
strName = strFirstName .. "." .. strLastName
print(strName)
return strName, "is", 18
end
在C++:
lua_getglobal(L, "showValue");
lua_pushstring(L, "William");
lua_pushstring(L, "Hsueh");
lua_pcall(L, 2, 3, 0);
// get return values
int nOld = lua_tonumber(L, -1);
const char *pIs = lua_tostring(L, -2);
const char *pName = lua_tostring(L, -3);
你可以檢查在整個例如:http://blog.deskangel.com/?p=459
鏈接的帖子是中文,但代碼說明了一切。
我不認爲這是解決方案。 – einverne
@einverne,那麼,您的解決方案是什麼? – WilliamX