天天看點

用VC編譯lua源碼,生成lua語言的解釋器和編譯器

用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
  • 編譯生成一個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
用VC編譯lua源碼,生成lua語言的解釋器和編譯器
用VC編譯lua源碼,生成lua語言的解釋器和編譯器

繼續閱讀