用VC編譯lua源碼,生成lua語言的解釋器和編譯器
1.去網址下載下傳源碼
http://www.lua.org/download.html2.裝一個VC++,我用的是VC6.0 3.接下來我們開始編譯源碼,我們需要編譯:
- 一個靜态庫
- 一個動态庫
- 一個lua語言解釋器
- 一個lua編譯器
建立一個工靜态庫工程
- 打開VC-->檔案-->(點選)建立--(彈出框中選擇)工程-->(win32 static library)
- 創一個空的工程
- 工程名為luaLib
- 把lua中所有的源碼添加,去掉其中的lua.c 和luac.c這兩個檔案
- 編譯生成一個以luaLib.lib結尾的靜态庫(後面使用)
建立一個工動态庫工程
- 打開VC-->檔案-->(點選)建立--(彈出框中選擇)工程-->(win32 Dynamic-link library)
- 工程名為luadll
- 編譯生成一個luadll.dll結尾的靜态庫(後面使用)
建立一個控制台工程(生成解釋器)
- 打開VC-->檔案-->(點選)建立--(彈出框中選擇)工程-->(win32 console Application)
- 工程名為luaInterpreter
- 隻添加lua.c
- 點選 工程--->設定---連結-->分類---(點下拉框)---輸入---分類/子產品庫中加入上面生成的靜态庫名luaLib.lib
- 為了編譯時能找到剛才添加的靜态庫(luaLib.lib),把它,放到你的工程目錄,即和*.dsp的同一個檔案夾下。這樣編譯器會到這裡查找這個庫
- 編譯這樣就可以生成一個luaInterpreter.exe檔案。這個可執行檔案可以運作你寫的lua腳本.
- 不過,你要把上面生成的luadll.dll檔案和luaInterpreter.exe檔案,放在同一個目錄。
- 然後打開一個dos視窗,進入你的luaInterpreter.exe檔案所在的目錄
- 在指令行輸入: luaInterpreter.exe test.lua
- 就可以執行test.lua這個腳本了
現在用文本編輯器寫下面的代碼,儲存為test.lua
function fact(n)
if n == 0 then
return 1
else
return n * fact(n - 1)
end
end
print("Enter a number:")
a = io.read("*number")
print(fact(a))
建立一個控制台工程(生成編譯器)
- 工程名為luacompile
- 隻添加luac.c
- 編譯這樣就可以生成一個luacompile.exe檔案。這個可編譯檔案可以編譯你寫的lua腳本.
原文連結:
http://www.cnblogs.com/activity-life/p/3583536.html另外動态庫和靜态庫的差別可參見:
http://www.cnblogs.com/skynet/p/3372855.html![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcuAjMjhTYxIWOidjM1YjNhljMhF2YxQWM5MWM5U2Y3EzNfdWbp9CXt92Yu4GZjlGbh5SZslmZxl3Lc9CX6MHc0RHaiojIsJye.png)