為什麼我用vc編譯的文件體積大
『壹』 為什麼編譯出的程序體積那麼大
那是因為用Delphi編寫的圖形界面程序必須包含VCL庫,否則無法在未安裝Delphi運行時間庫的機子上運行,靜態鏈接的話會將程序用到的VCL組件部分都鏈接到可執行文件中去,所以文件體積比較大,如果編譯是選擇Build with Runtime packages,但是系統里必須已安裝Delphi運行時間庫。
『貳』 我用vc6.0 生成的文件太大,咋辦
這是因為包含了一些類庫,3.21M也不算很大啊。
『叄』 為什麼 C++ 編譯出的可執行文件很大
那是因為你沒有指定編譯模式和鏈接方式,所以,默認使用c++的標准去生成文件,體積自然很大。
『肆』 如何縮小vc編譯的文件體積
如果你是指編譯後的完整工程(包括中間文件等),那麼不推薦縮小,也沒辦法很好的縮小。
如果你是指編譯後,最終完成的EXE,那麼太多辦法來縮小。
比如:
編譯模式中,優化模式Optimizations選擇為Minimize Size
編譯選擇Release模式而不是Debug模式,去掉EXE中的調試信息
對MFC和其它鏈接庫選擇動態編譯,使用DLL而不是LIB,可以極大降低EXE的文件大小
資源文件優化,或者將資源文件做成外置資源,那麼EXE的文件大小也可以大幅度壓縮
完成編譯後,對exe文件進行打包加殼,可以降低大概30~40%的文件大小
『伍』 C++編譯後的文件為什麼體積特大
正常,在編寫小的短的程序C沒有匯編有優勢,一個程序很簡單的程序用TC編譯成30K正常
你可以這樣理解
編譯 就跟模板似的,有固定的開頭結尾,中間是你的程序編譯的代碼,開頭結尾最簡單也要幾K,所以再加上你的程序不可能很短
你是用的TC 而不是用的VC++ 沒有動態庫與靜態庫的問題,
但是如果改變些TC編譯選項可能對編譯結果大小有影響
『陸』 vc++編譯的程序怎麼那麼大
你指的是控制台程序嗎?
Debug版的exe比較大,你可以發布成Release版的,這樣可以縮減到原來的1/2左右,VB的雖然30多K,但不能脫離開發環境運行,VC做的Release版的程序可以在所有Windows操作系統中運行
發布Release版的方法,詳見我的博客:
http://lewvan.blog.e.cn/user3/lewvan/archives/2006/1602756.shtml
『柒』 VC編譯出來的程序為什麼那麼大
VC不是萬能,你如果要最求最小代碼自然要用匯編。
但是VC也絕不是垃圾代碼生成器
公平的說,VC編譯的代碼質量還是可以的,當然你如果非要挑毛病那肯定能挑出來
『捌』 C++程序編譯後為什麼這么大
程序要執行當然不是只靠你寫的那兩行代碼,還需要好多庫,即使是很簡單的程序,你在VC++下按一下ALT+F7,選中Link就能看到了。編譯的時候這些庫也被包含到可執行文件當中,因此可執行文件較大。
Debug編譯後帶有源文件信息,因此可以調試,單步執行,而Release沒有這些信息,因此不能調試,但執行效率更高。
『玖』 為什麼VC++生成的DLL文件那麼大,怎樣才能變小
1.debug版帶有調試信息,所以很大,如果是release版會小很多。
2.項目屬性,如果是靜態連接運行時庫的就比較大,如果是動態連接運行時庫的(在共享 DLL 中使用 MFC)就比較小
3.WIN32 dll比較小,且使用不同的運行時庫的化,生成的dll文件大小也有差別。(工程屬性-》C/C++-》代碼生成-》運行時庫)。使用不同的運行時庫,有微軟的、STD的有單線程多線程。