我有一個完整的程序後,但是現在,我希望它能夠被更新。因此,我想通過新代碼更改可執行文件中的「代碼」,而不必重新編譯它。如何修改一個exe文件中的代碼更新
可能嗎?如果是的話,我該怎麼做,我使用Qt Creator中的C++進行編碼。
感謝您的任何建議/線索
我有一個完整的程序後,但是現在,我希望它能夠被更新。因此,我想通過新代碼更改可執行文件中的「代碼」,而不必重新編譯它。如何修改一個exe文件中的代碼更新
可能嗎?如果是的話,我該怎麼做,我使用Qt Creator中的C++進行編碼。
感謝您的任何建議/線索
我的確正是Jon告訴我的:簡單地用新的exe替換舊的exe
不知道這個回答您的需求,但是你看看ClickOnce的平臺?儘管代碼仍在您的服務器上重新編譯,但客戶端可執行文件通過ClickOnce進行更新。
這將有可能,但它似乎只在Windows上工作...我需要使它在任何系統上工作......謝謝! – castors33 2012-03-16 18:13:39
雖然你不能在技術上在C++中做這個沒有重新編譯,如果你不想用另一種編程語言重寫,你可以編寫一個小的幫助程序(儘管原始程序沒有運行)重新編譯第一個程序。
如果你真的想這樣做(這是不難的),我會考慮GNU g++。 如果您使用的是Windows,您可能需要MinGW(我相信它附帶了g ++)。兩者都是自由/開源並根據GNU GPL下降(你需要看一下,如果你正在計劃銷售程序什麼的。不過,你可以自由地送人)
基本上你可以運行程序,在關閉之前調用另一個程序,並讓該程序充當腳本來調用g ++重新編譯您的代碼。我之前做過這個,但是爲了更快的調試,而不是實際發佈一個可以這樣工作的程序。
如果你決定走這條路...... [這裏](http://stackoverflow.com/questions/5689437/compile-cpp-file-to-exe-inside-of-programexe)一個SO問題涉及到這一點 – blakek 2012-03-16 18:49:55
沒有必要重新編譯究竟是什麼?顯然你不能執行你的新代碼(無論是在舊的還是在新的可執行文件中),除非你先編譯它。 – Jon 2012-03-16 18:00:01
我的意思是......我想的是:我的節目預告有更新,所以下載它,因爲在更新修改,然後是啓動該程序後,右鍵即可使用 – castors33 2012-03-16 18:17:21
以及如何EXE更改代碼那會比簡單地下載一個新的exe並將其複製到舊的更好嗎? – Jon 2012-03-16 18:18:23