用VC編譯lua源碼,生成lua語言的解釋器和編譯器
1.去網址下載源碼 http://www.lua.org/download.html 2.裝一個VC++,我用的是VC6.0 3.接下來我們開始編譯源碼,我們需要編譯:
- 一個靜態庫
- 一個動態庫
- 一個lua語言解釋器
- 一個lua編譯器
建立一個工靜態庫工程
- 打開VC-->文件-->(點擊)新建--(彈出框中選擇)工程-->(win32 static library)
- 創一個空的工程
- 工程名為luaLib
- 把lua中所有的源碼添加,去掉其中的lua.c 和luac.c這兩個文件
- 編譯生成一個以luaLib.lib結尾的靜態庫(后面使用)
建立一個工動態庫工程
- 打開VC-->文件-->(點擊)新建--(彈出框中選擇)工程-->(win32 Dynamic-link library)
- 創一個空的工程
- 工程名為luadll
- 把lua中所有的源碼添加,去掉其中的lua.c 和luac.c這兩個文件
- 編譯生成一個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))
建立一個控制台工程(生成編譯器)
- 打開VC-->文件-->(點擊)新建--(彈出框中選擇)工程-->(win32 console Application)
- 創一個空的工程
- 工程名為luacompile
- 只添加luac.c
- 點擊 工程--->設置---鏈接-->分類---(點下拉框)---輸入---分類/模塊庫中加入上面生成的靜態庫名luaLib.lib
- 為了編譯時能找到剛才添加的靜態庫(luaLib.lib),把它,放到你的工程目錄,即和*.dsp的同一個文件夾下。這樣編譯器會到這里查找這個庫
- 編譯這樣就可以生成一個luacompile.exe文件。這個可編譯文件可以編譯你寫的lua腳本.