導航:首頁 > 源碼編譯 > 影響程序體積的編譯選項

影響程序體積的編譯選項

發布時間:2023-01-02 22:35:21

❶ Delphi XE6 編譯出的exe程序,體積很大怎麼弄

推薦您用upx壓縮殼進行壓縮。
1、upx壓縮殼的說明(來自網路)

登錄/注冊後可看大圖

UPX (the Ultimate Packer for eXecutables)是一款先進的可執行程序文件壓縮器,壓縮過的可執行文件體積縮小50%-70% ,這樣減少了磁碟佔用空間、網路上傳下載的時間和其它分布以及存儲費用。 通過 UPX 壓縮過的程序和程序庫完全沒有功能損失和壓縮之前一樣可正常地運行,對於支持的大多數格式沒有運行時間或內存的不利後果。 UPX 支持許多不同的可執行文件格式 包含 Windows 95/98/ME/NT/2000/XP/CE 程序和動態鏈接庫、DOS 程序、 Linux 可執行文件和核心。

❷ 關於C++程序編譯後體積問題

這個和你用的編譯器的代碼優化功能有關系,有的編譯器(如VC)可以讓用戶選擇生產.exe可執行文件時是文件體積優先還是速度優先,一般速度優先了體積就會大一些,反之亦然。
再就是各個編譯器之間的差異了..

❸ C++編譯後的文件為什麼體積特大

正常,在編寫小的短的程序C沒有匯編有優勢,一個程序很簡單的程序用TC編譯成30K正常
你可以這樣理解
編譯 就跟模板似的,有固定的開頭結尾,中間是你的程序編譯的代碼,開頭結尾最簡單也要幾K,所以再加上你的程序不可能很短
你是用的TC 而不是用的VC++ 沒有動態庫與靜態庫的問題,
但是如果改變些TC編譯選項可能對編譯結果大小有影響

❹ g++編譯出的程序體積問題

<iostream>
using namespace std;
viod main(viod)
{
cout<<"dsjffjjsljlsfjlj\n";
}

你用gcc的時候是要區別後綴名的,你編譯的是c++,所以必須把文件後綴名改成.cpp,如果是.c是會錯的!!!

如果還有錯的話,就是你 「main」後的括弧是全形的!!!,還有main要返回整型的,參數也要是整型!!!

"vc++ 6.0 、tc++ 3.0都不行啊。比如寫#include<iostream>或 #include<cmath>等等就不行了,要寫成#include <iostream.h>或#include "math.h"一類才行。"

補充:寫#include<iostream>
後面要加上using namespace std;
要用命名空間!!!

"還有字元串操作不能用「+」、「=」等等。"
要用符號重載才能辦到,你可以查一下這方面的資料!!!

每一個C++編譯器都支持標準的C++的,只是各自有自己的特點而已。C++語言規范沒有指定平台,使得C++編譯器在各個平台上都有各自的實現。但是,在實際使用當中,平台依賴性是客觀存在的,包括操作平台和開發平台,而因各平台的差異性,特定平台上的C++編譯器在實現上對標准C++規范有所修改、有所擴充也是無可厚非的,畢竟C++不是一個強制性規范。

C++編譯器很重要, 但是IDE有時候更加重要.

給你推薦ICC
ICC是一個非常優秀的編譯器, 這個編譯器提供了對INTEL處理器的最大支持,這個是其他編譯器無法做到的. 就憑這一點就足夠了. 例如,它可以針對一款特定的處理器做優化. 還有很多,我懶得說了

❺ c++ 靜態函數會加重程序負擔嗎

這要看你的庫設計了, 一般情況下靜態函數或類成員靜態不會增大程序體積, 如果是標準的靜態函數則類似於全局函數, 在編譯時, 只會在代碼段編譯一次。

但是如果是模板類中使用靜態函數可就要小心了, 這會隨著類模板的不同形參進行內嵌編譯。

能夠影響程序代碼段體積大小的只有宏替換、內聯函數、函數模板以及類模板。 這些會在代碼編譯過程中展開,內嵌到代碼中,在提高程序性能的同時而造成程序編譯體積增大。

還有就是常量會直接編譯到程序的數據段, 也有可能造成程序的體積

❻ 如何縮小vc編譯的文件體積

如果你是指編譯後的完整工程(包括中間文件等),那麼不推薦縮小,也沒辦法很好的縮小。


如果你是指編譯後,最終完成的EXE,那麼太多辦法來縮小。

比如:

❼ C語言dev c++,選項release,debug,profiling什麼意思

1,debug:Debug通常稱為調試版,通過一系列編譯選項,編譯結果通常包含調試信息,並且不做任何優化,以便為開發人員提供強大的應用程序調試功能。 Debug版本包含調試信息,因此它比Release版本大得多(可能是數百K到M)。

調試調試,可以通過軟體,堆棧跟蹤,調試等操作來查找錯誤。至於是否需要DLL支持,主要取決於您使用的編譯選項。如果它基於ATL,則Debug和Release版本對DLL有類似的要求。

2,發布:發布版本,如果程序在最終調試後沒有明顯的錯誤,可以使用此選項編譯為可用軟體與他人共享。發布通常稱為發布版本,供用戶使用。通常,不允許客戶在發布版本上進行調試。

因此,不會保存調試信息,同時,它經常被優化以實現最小的代碼和速度。方便用戶使用。

3、性能分析。可以在執行軟體期間分析CPU利用率和存儲器佔用率。它還可用於發現和分析異常和錯誤。


(7)影響程序體積的編譯選項擴展閱讀:

調試程序發布版本的方法:

1.如前所述,Debug和Release只是一組編譯選項。實際上沒有區分兩者的定義。您可以修改Release版本的編譯選項以縮小錯誤范圍。如上所述,您可以逐個將Release的選項更改為相應的Debug選項,例如/ MD到/ MDd,/ O1到/ Od,或運行時優化到程序大小優化。

一次只更改一個選項,查看錯誤消失時更改了哪個選項,然後查找與該選項相關的錯誤。可以直接從ProjectSettings中的列表中選擇這些選項,通常不會手動修改。由於上述分析相當全面,這種方法是最有效的。

2,在編程過程中,你應該時刻注意測試發布版本,以免最終代碼過多,時間非常緊張。

3.使用Debug版本中的/ W4警告級別從編譯器獲取最大錯誤信息。例如,如果(i = 0)將導致/ W4警告。不要忽略這些警告,通常這是由程序中的錯誤引起的。但有時/ W4會帶來大量冗餘信息,例如未使用的函數參數警告,並且許多消息處理程序會忽略某些參數。

閱讀全文

與影響程序體積的編譯選項相關的資料

熱點內容
迷你世界出編程軟體了 瀏覽:671
res文件夾有哪些 瀏覽:140
交通信號燈單片機課程設計 瀏覽:826
如何測試流媒體伺服器的並發能力 瀏覽:161
溯源碼有分國家認證的嗎 瀏覽:218
如何通過app查詢產檢報告 瀏覽:944
拉結爾安卓手機怎麼用 瀏覽:695
驅動級進程代理源碼 瀏覽:782
androidshape畫線 瀏覽:510
程序員想辭職被拒絕 瀏覽:101
java面試邏輯 瀏覽:749
如何下載全英文app 瀏覽:724
js函數式編程指南 瀏覽:380
為什麼安卓手機相機啟動會卡 瀏覽:341
python中t是什麼意思 瀏覽:765
移動硬碟內存加密 瀏覽:407
單片機測角度 瀏覽:864
URL伺服器地址怎麼填 瀏覽:438
壓縮餅干會導致血糖高嗎 瀏覽:569
cad中xc命令怎麼用 瀏覽:424