我有一個編譯和運行腳本的程序。將數據追加到可執行文件(Windows,Unix)
要創建一個獨立版本的腳本,我保留一個大的靜態緩衝區來保存編譯的腳本。編譯後的腳本被複制到程序的副本中,然後可以從該副本運行。
這工作正常。它也有一些缺點但是:
- 緩衝區是靜態的,佔用空間,如果有一個在它沒有編譯 程序。
- 如果要包含的腳本超出了緩衝區的大小,我需要用更大的緩衝區構建新版本。
我想將編譯的腳本添加到程序的末尾,但是這樣做不會像exe加載程序在新的文件大小時產生阻塞一樣工作。
有沒有一種方法來操縱exe,所以它是可以接受的裝載機(介意這是一個跨平臺的程序)?
您可以查看7-zip等程序如何創建自解壓檔案。也許你可以使用類似的方法來嵌入你的腳本? – 2012-01-03 10:09:43
我想你想在沒有重新編譯解釋器的情況下合併編譯的腳本,對嗎?否則,你將能夠通過修改你的構建系統來處理這個問題...... – thkala 2012-01-03 10:53:10
上面的兩位評論者都指出了這一點。但是,我似乎無法找到壓縮程序如何執行此操作的任何示例。我希望能找到一些實用的源代碼,爲我節省了檢查可執行映像的麻煩。 – Tink 2012-01-03 15:57:42