Lua和C 的互動

2021-08-05 20:28:05 字數 1140 閱讀 6331

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語言是用彙編實現的,在組合語言中可沒有函式的概念,與函式對應的是叫做子過程的東西,子過程就是一段指令,乙個...