2011-11-26 33 views
2

在原來的,我收集* .lua文件的文件夾中,然後加載它們在* .c文件如何將* .lua文件編譯爲資源庫?

現在我想隱藏他們(*。LUA),並讓他們在一個xx.so或xx.dll

如果可以這樣做?

如果可以,那麼如何將它們加載到c文件中?

+2

可能的重複:http://stackoverflow.com/questions/6171929/how-to-embed-a-lua-script-within-a-c-binary – BMitch

回答

2

我不會用Lua的,如果你有代碼隱藏(因爲它總是可能反編譯),但你可以簡單地做到以下幾點:

  • 使用luac編譯腳本文件。這會給你帶有預編譯目標代碼(不是機器代碼)的輸出文件。 (這一步是可選的,但它使得難以在編譯的文件中讀取/查找實際的代碼。)
  • 編寫一個簡單的工具來讀取將這些文件放入字符數組中的文件。

生成的代碼應該看起來有點像這樣:

const char firstlua_lua[] = {0x11,0x12,0x13,0x14,...}; 

它將使用在編譯LUA腳本發現明顯的實際字節。 然後,您就可以像加載任何腳本源一樣簡單地運行這些「字符串」。

相關問題