lua和c++ 之間的函式呼叫是應用最廣的,呼叫方式也和豐富。
1.全域性函式被lua語句呼叫
#include using namespace std;
#include "..\..\luaplus\src\luaplus\luaplus.h"
#define lua_ok 0
void show(int a, int b)
全域性函式show在lua中可以換個名字呼叫,利用registerdirect()函式將show註冊到指令碼中以add取代之。然後在指令碼中執行add函式,得到的結果和執行show是一樣的。
2.對.lua指令碼檔案中的函式呼叫
1)在lua指令碼內執行。
對於lua中的函式的呼叫方式也很多,就舉幾個例子吧。還是上免得程式不變,只更改.lua檔案中的內容
function add(x, y)
return x+y;
endprint(add(3,5));
執行結果,螢幕上會輸出8.
2)在lua指令碼內的函式被c++執行。
除了可以在lua內中執行以外,還可以在c++環境中執行。把上面的那個lua檔案最後的那行列印語句刪掉,用下面的c++語句呼叫add函式。
#include using namespace std;
#include "..\..\luaplus\src\luaplus\luaplus.h"
#define lua_ok 0
int main()
結果是一樣的。
3)
c++函式被
lua指令碼內的函式執行。
這個呼叫就有點意思了,在lua指令碼裡可以這麼寫
function add(x, y)
printnumber(x,y);
end
也就是add函式呼叫了乙個名字叫printnumber()的函式。而這個printnumber函式在**呢?讓我們看看c++**
#include
using namespace std;
#include "..\..\luaplus\src\luaplus\luaplus.h"
#define lua_ok 0
void show(int x,int y)
原來printnumber只是乙個中間字串,他指向了c++函式show();
如何在C 中整合Lua指令碼 LuaPlus篇
如何在c 中整合lua指令碼 luaplus篇 去年我作了乙個lua指令碼的c 包裝,有許多朋友感興趣,並嘗試使用,我感到受寵若驚。事實上,我作的包裝,學習的目的比較強,它還是有許多缺陷的。為了讓朋友們少走彎路,我推薦使用luaplus作為c 的包裝。luaplus是lua的c 增強,也就是說,lu...
如何在C 中整合Lua指令碼 LuaPlus篇
去年我作了乙個lua指令碼的c 包裝,有許多朋友感興趣,並嘗試使用,我感到受寵若驚。事實上,我作的包裝,學習的目的比較強,它還是有許多缺陷的。為了讓朋友們少走彎路,我推薦使用luaplus作為c 的包裝。我將在下面說明,如何使用luaplus,以及如何更方便的讓luaplus與c 的類合作無間。1....
Cocos2d x 指令碼語言Lua使用
cocos2d x 指令碼語言lua使用 前面幾篇部落格已經把lua的相關基礎知識介紹了。本篇部落格就來介紹一下,怎樣在cocos2d x專案中使用lua這門指令碼語言進行開發。因為筆者使用的時mac系統。所以演示給大家的時在xcode其中執行我們的cocos2d x專案。介紹一下筆者的開發環境 p...