減小Gcc編譯程式的體積

2021-09-07 07:23:35 字數 528 閱讀 6469

眾所周知,gcc編譯的原始程式一般很大,其實有幾種方法能大大減小目標**的體積,一般有以下幾種方法。

1、禁用除錯資訊

release編譯時不要加上-g開關。

2、使用-os編譯程式。

不要使用-funroll-loops等可以加速程式執行但是會大大增加目標**體積的開關。

3、編譯後的程式使用strip去除符號和偏移(限於可執行程式和共享庫,其他易出問題)。

4、如果你不需要rtti,編譯時加入-fno-rtti。

5、如果你不需要處理c++異常,編譯時加入-fno-exceptions。

6、使用upx之類的可執行程式壓縮程式(只推薦用於可執行程式,用於其他也可,但是較浪費記憶體)。

例如,使用wxwidgets動態編譯的程式初始體積可能有429kb,經過以上方式(未經upx壓縮)處理後,體積減少為108kb,upx壓縮後體積為35kb。

減小Gcc編譯程式的體積

眾所周知,gcc編譯的原始程式一般很大,其實有幾種方法能大大減小目標 的體積,一般有以下幾種方法。1 禁用除錯資訊 release編譯時不要加上 g開關。2 使用 os編譯程式。不要使用 funroll loops等可以加速程式執行但是會大大增加目標 體積的開關。3 編譯後的程式使用strip去除符...

GCC編譯程式

gcc gnu compiler collection 是linux下最主要的一種編譯工具。gcc編譯格式 gcc 選項 源檔名 選項 目標檔名 採用預設得方式編譯原始檔,系統會生成a.out可執行檔案 採用顯式編譯成目標檔案,在編譯成可執行檔案 gcc c hello.c 生成hello.o gc...

gcc編譯程式的流程

gcc編譯器 gcc編譯器 c語言的編譯器gcc g gcc編譯程式的流程 原始檔 c 預處理 i 編譯 彙編 s 鏈結 o 可執行檔案 filename.c 預處理器 編譯器 彙編器 聯結器 excutefile 編譯執行五部曲 一般就三步 對 c檔案直接編譯後直接生成可執行檔案後執行 gcc b...