step1、搭建好vs和lua相互動的環境:
2.有lua_lib.lib這個檔案;
3.開始配置:
滑鼠放在工程名那:
右鍵選屬性:
位址就選上面有原始碼的檔案路徑。
如上,把引用目錄點開進行編輯位址是選lib檔案的位址
如上,吧庫目錄點開進行編輯位址也是lib檔案的位址
step2、給這個工程新增標頭檔案:
extern "c" ;
這樣前期準備工作就做好了。
(一)cpp檔案中呼叫lua檔案的函式:
<.lua>
function add(a,b)
return a+b;
end<.cpp>
#include
using namespace std;
#include"_lua.h"
static lua_state *l = null;
int ladd(int x, int y)
int main()
(二)lua檔案中呼叫cpp檔案:
<.cpp>
//待lua呼叫的c註冊函式
static int add2(lua_state* l)
//待lua呼叫的c註冊函式。
static int sub2(lua_state* l)
//待lua呼叫的c註冊函式。
static int l_sin (lua_state *l)
int main()
<.lua>
function show()
print("--------------------")
print(add2(1.0,2.0))
print(sub2(20.1,19))
print(l_sin(1))
endshow()
Lua和C 互動 全域性陣列互動
陣列是key值從1開始並連續遞增的table。索引號是從1開始,不是從0開始。lua還提供了一些只針對陣列進行操作的api,如下 lualib api lua integer lual len lua state l,int idx lual len 使用於陣列,可得到陣列元素個數 以數字形式返回給...
Lua和C語言的互動(一)
lua生來就是為了和c互動的,因此使用c擴充套件lua或者將lua嵌入到c當中都是非常流行的做法。要想理解c和lua的互動方式,首先要回顧一下c語言是如何處理函式引數的。c函式和引數 大家知道c語言是用彙編實現的,在組合語言中可沒有函式的概念,與函式對應的是叫做子過程的東西,子過程就是一段指令,乙個...
Lua和C語言的互動(一)
lua生來就是為了和c互動的,因此使用c擴充套件lua或者將lua嵌入到c當中都是非常流行的做法。要想理解c和lua的互動方式,首先要回顧一下c語言是如何處理函式引數的。c函式和引數 大家知道c語言是用彙編實現的,在組合語言中可沒有函式的概念,與函式對應的是叫做子過程的東西,子過程就是一段指令,乙個...