C語言中呼叫LUA(1)

2021-08-13 15:07:17 字數 715 閱讀 3418

c程式中呼叫lua指令碼檔案

1,新建lua指令碼  test.lua

print("hello world")

2,在c程式中呼叫

#include#include#include#includeint main(void)

3,編譯

gcc -o ***.c ***   /usr/local/lib/liblua.a  -ldl  -lm

備註:在交叉編譯中編譯:

arm-cortex_a9-linux-gnueabi-gcc ***.c -o *** -i/mywork/lua-5.1.4/src -l/mywork/lua-5.1.4/src -llua -lm

-i指定 尋找#include lua這類標頭檔案的路徑

-l指定 尋找liblua.a此靜態庫的路徑(注意靜態庫的版本)

-l指定要連線的靜態庫名稱為lua(也就是liblua.a)

此外還要鏈結 -lm 不然報錯

-lm   是連線對應的math庫 不然連線了liblua仍然會報錯

lua指令碼中的內容test.lua

print("i'm ok");

以上只是乙個簡單的例子在c中如何操作lua指令碼,通過lua庫中的c api可以傳遞引數到lua中,從lua中獲取返回值,呼叫lua中指定函式等等操作

C語言中呼叫Lua

c語言和lua天生有兩大隔閡 一 c語言是靜態資料型別,lua是動態資料型別 二 c語言需要程式設計師管理記憶體,lua自動管理記憶體 為了跨越世俗走到一起,肯定需要解決方案。解決第一點看上去比較容易,c語言中有union。可是第二點呢?萬一c語言正引用著lua的乙個值,lua自動釋放了怎麼辦?所以...

在你的遊戲中應用Lua(1) 呼叫函式

假設你在指令碼中定義了乙個函式 function main number number number 1 return number end在你的遊戲 中,你希望在某個時刻呼叫這個函式取得它的返回值。在lua中,函式等同於變數,所以你可以這樣來取得這個函式 lua getglobal l,main ...

lua(1) 環境配置

說到遊戲開發,就不得不提到lua,lua作為一種簡單 可擴充套件 可移植及高效的指令碼語言,廣泛地被用於網路遊戲以及手機遊戲中。寫遊戲常常需要跟lua打交道,還是做些筆記記下來吧,以後想看方便找 1 搭建lua環境。lua for windows.exe包含了lua直譯器程式,安裝完畢後能自動配置好...