1. 程式人生 > >如何減小編譯後可執行檔案的大小

如何減小編譯後可執行檔案的大小

CFLAGS += -ffunction-sections -fdata-sections
LDFLAGS += -Wl,-Map=object.map,--cref,--gc-section

if found overlap error, add one line in Link script:

.text{

  *(.text.*)
}

通過增加CFLAGS選項,使得各個函式放到單獨的section內,在連結的時候會自動去掉沒有使用的函式。從而達到減小可執行檔案大小的目的。

-Wl,-Map=object.map:輸出一個可執行檔案的map檔案,可以檢視各個函式所在的記憶體地址。

注意:使用該選項後,全域性變數不會自動設為0。