將C註冊到lua環境中使用

2021-09-24 20:43:15 字數 364 閱讀 4430

註冊到lua的方式有兩種,一種是lua直譯器,如果支援動態鏈結,使用動態鏈結機制,將函式介面編譯成動態鏈結庫,然後將動態鏈結庫放到lua的c路徑(lua_cpath)中,然後在lua檔案中直接使用 require "***",這句話會使主機編寫的動態鏈結庫鏈結到lua,並尋找***,將模組註冊到package.loaded中。 另一種方式是直接將自己寫好的介面函式與lua原始檔一起重新編譯生成乙個新的lua直譯器,使用新的直譯器代替舊的。此外,還需要以某種方式來告訴直譯器,它應在開啟新狀態的同時開啟這個模組。

使用動態庫鏈結方式將介面註冊到lua環境

static lual_reg  *** = ,,};

int luaopen_***(lua_state *l)

在lua環境中使用protobuf

最近在cocos2dx的專案中,需要在lua指令碼層使用protobuf協議。官方已經推出了很多種語言的版本。但唯獨lua版本不全。於是開始研究protobuf在lua下的實現,將完整的過程記錄了下來,希望對其它人能有所幫助。簡單介紹一下裡面的三個目錄 example 存放的乙個示例協議,plugi...

在C 中使用LUA

lua.lib庫的使用 便於後期使用 便於開發中的標頭檔案引用 便於mfc工程的開發使用 使生成的是庫,而不用生成可執行檔案,便於其他工程的引用 新增頭檔案目錄,庫目錄 新增鏈結器附加依賴項 初始化lua虛擬機器 state lual newstate if state luaopen base s...

在VS中 使用C 訪問Lua

建立vs程式集,然後新增引用luainte ce.dll檔案,選中引用,右鍵新增引用,然後瀏覽到luainte ce.dll的目錄,選擇新增就可以了 而後將luanet.dll檔案複製貼上到,程式集的debug的目錄下,最後建立在vs中使用lua指令碼 我這裡是test.lua檔案 完成情況如圖 u...