2015-06-20 69 views
1

我對C++很新穎,所以這將是一個非常大的新手問題。對C++應用程序進行更新和修改

假設我想對我的應用進行更新,比如向類中添加一個新的函數,添加一個新的類,或者只是改變一些代碼來改進應用。 IDE使用(Visual Studios)將我的代碼構建到單個.exe文件中。但是當我想更新代碼時,我必須重建整個應用程序。這很糟糕,因爲當我分發我的應用程序,然後想要更新它時,我必須向我的應用程序發送每個人的更新版本的.exe文件,這會耗盡大量內存。有沒有什麼辦法讓我的.exe文件更新,而無需下載整個代碼,或者我應該分發它的具體方式,以便更新和修改?

+1

非常寬泛的問題。通常,這不是可執行文件佔用大量空間,而是可執行文件使用的資源(圖像等)。通常,資源文件通過嵌入在可執行文件中的自動更新程序進行更新,並使用文件大小/散列檢查來檢查更改文件。至於如何更新您的可執行文件,自動更新是大多數軟件現在的功能。但不要擔心只是爲了執行你的「可用內存」。 –

回答

0

如果您希望更新.exe,您需要重新編譯它,並向客戶端發送該版本,只有編譯器可以安全地在二進制級別上合併代碼。但即使是數十萬個代碼也不佔用太多空間,所以我認爲你有一些佔用大量空間的資源。將它們拆分爲.dll庫併發送一次,您的.exe將會越來越小。如果無論如何你有很多代碼,只需要更新一部分,你可以將函數/類添加到另一個.dll aswel中,將它們標記爲extern'C',從程序中調用它們並在需要時輕鬆替換。

製作一些autoupdater不是一個壞主意aswel,最終你會厭倦每次手動發送文件。

相關問題