前段時間一直在尋找, 究竟c++中嵌入哪種指令碼語言比較好呢? python, ruby, lua, perl ?
後來, 開源社群的朋友很多都推薦lua, 於是我也就開始學習lua程式設計.
我的開發環境是vs.net 2003, 新建乙個空的c++ console專案, 再新建乙個main.cpp檔案, 然後新增以下**:
#include "stdio.h"
extern "c"
lua_state* l;
int main()
編譯連線的時候, 出錯資訊如下:
testlua1 error lnk2019: 無法解析的外部符號 _lua_dofile ,該符號在函式 _main 中被引用
testlua1 error lnk2019: 無法解析的外部符號 _lua_dostring ,該符號在函式 _main 中被引用
後來, 我在網上基本上沒有找到相關的答案, 即使有,也只是設定lib和include路徑之類的. 其實這些設定我都已經正確設定好了的.
那問題究竟出在**呢? 我試著把呼叫lua_dofile和lua_dostring的兩個語句注釋掉, 結果編譯連線成功. 這說明lua已經基本能用了, 只是鏈結器沒有找到lua_dofile和lua_dostring這兩個函式的位址,所以鏈結失敗. 但是, 這兩個函式在lauxlib.h標頭檔案中是有宣告的, 只是在lua.dll和lualib.dll中都不見它們的蹤影!
我想,這就是這兩個函式鏈結失敗的直接因素吧,但是為什麼這些動態鏈結庫裡都沒有這兩個函式呢? 奇怪!
大家有這樣的經歷嗎? 或者知道解決方法嗎?
Lua學習筆記1
今天上班的時候和程式對乙個功能的程式介面,需求是這樣的 指令碼 根據配置檔案生成一組中獎資訊,用table來儲存,然後將這個table傳給程式介面,程式根據這個table中的資料向玩家顯示中獎介面。很簡單的乙個功能,指令碼這邊的函式很快就寫完了,然後我就琢磨著程式的介面應該怎麼寫,由於之前沒有試過在...
Lua學習筆記 1
lua也是一種指令碼語言,和shell類似。學習這個是因為在使用redis做分布式鎖的時候有一種lua的寫法,所以就簡單的學習一下這個指令碼語言。其實但凡是指令碼語言都有一種執行方式就是互動式 什麼叫做互動式?就是類似於問答模式,輸入一條命令輸出結果 直接輸入lua,就進入了互動介面。可以自己玩一下...
LUA 元表學習筆記1
最近學習lua學習到元表這一塊,發現有點迷糊 於是查閱了一部分資料反覆敲 論證,記錄一下結果 因為自己也是菜鳥並不保證完全正確,這僅僅是我個人的理解 首先設定原表 普通表 t 元表 mt 把 mt 設為 t 的元表 setmetatable t,mt 返回 t 的元表,也就是 mt getmetat...