Lua作為一種輕便的嵌入式語言店读,了解其是如何嵌入宿主語言以及如何與宿主語言交互,對掌握Lua的使用是相當(dāng)重要的攀芯,在日常工作中我們可能一直在使用Lua寫具體業(yè)務(wù)屯断,卻忽視了Lua被創(chuàng)造的初衷。我們將從調(diào)試環(huán)境搭建開始一步步講解Lua與C交互。
1殖演、平臺(tái)環(huán)境
這里用的是win10 與 visual Studio 2013氧秘。 如果你用的是mac,你一定熟悉mac系統(tǒng)跟Xcode,大體原理是一樣的。
2趴久、Lua庫?
到官網(wǎng)去下載敏储,如果你下載的是源文件,要在C中嵌入Lua, 為方便使用,我們自然需要Lua的頭文件和庫朋鞍,所以用vs編譯源文件已添,得到如下文件。當(dāng)然你也可以下載二進(jìn)制文件滥酥。
如果源文件是C++更舞,只需要#include <lua.hpp>即可。C需要導(dǎo)入 lauxlib.h ? lua.h ? lualib.h 坎吻。 .lib文件是靜態(tài)庫缆蝉,即便我們使用動(dòng)態(tài)庫.dll,調(diào)試的時(shí)候靜態(tài)庫依然是需要添加依賴的瘦真。官方文檔中說lua51類似lua5.1的序言一樣刊头。至于兩個(gè)之間怎么配合的,官方并沒有說明诸尽,反正就是兩個(gè)都要 原杂。 ?
3、新建vs工程
? ? 打開VS您机,新建項(xiàng)目選擇如下:
4穿肄、引入Lua庫
選擇項(xiàng)目>xxx屬性:
包含目錄填入頭文件路徑,庫目錄填入庫文件路徑际看。還需要設(shè)置鏈接器咸产,如下:
在附加依賴項(xiàng)編輯加入lua靜態(tài)庫,點(diǎn)擊確定仲闽。
5脑溢、檢驗(yàn)一下環(huán)境
在C或C++源文件中 , #include 頭文件后, 輸入lua_State赖欣、luaL_openlibs等lua C 接口有自動(dòng)提示且均不報(bào)錯(cuò)屑彻,就可以說明項(xiàng)目引入lua庫成功了。