當前位置:
首頁 > 知識 > 動態庫空間優化

動態庫空間優化

1. 使用-OS編譯

Os在-O2的基礎上,去除對齊的功能,意在去除空白空間,在與-O2幾乎一致的效率上面,追求空間優化

2. objcopy去除comment段

.comment段:存放的是編譯器版本信息,比如字元串"GCC:(GNU)4.2.0"

3.去除未被使用的function和data

(1)編譯時候加上 -ffunction-sections 和 -fdata-sections

(2)鏈接時候加上 -Wl,-gc-sections

如: LD_FLAGS += -Wl,-gc-sections CC_FLAGS+=-ffunction-sections

4. 隱藏符號

對於動態庫只需要頭文件的介面對外可見,其餘的隱藏。

(1)對外可見函數加上 __attribute ((visibility("default")))

(2)編譯的時候加上-fvisibility=hidden

動態庫空間優化

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員小新人學習 的精彩文章:

獲取一個字元串值在指定字元串第n次出現的位置
為什麼大公司請敏捷開發諮詢顧問,都偏向項目管理,是不是偏了?

TAG:程序員小新人學習 |