2012-08-15 88 views
2

我有幾個程序(用C語言編寫)實現了一些算法,我用它來度量計算時間。整個數據在代碼中直接作爲靜態庫實現,沒有這些程序的輸入和輸出。也沒有C庫調用(沒有printfs等)。用GCC構建最小化的獨立可執行文件

我想構建完全獨立和最小的可執行文件。我不想將我的程序與libgcc(目標CPU有協處理器,所以我不需要模擬浮點運算),C庫或任何其他程序鏈接。其實我想讓我的節目儘可能獨立。在Linux上,ELF程序只能與crt0.o連接才能正常運行,對吧?

我主要是問,因爲我很好奇;)

回答

1

鏈接與gcc -nostdlib,然後用objdump -hstrip --remove-section=...,以真正使小的擺脫無聊的東西,如註釋部分和異常處理幀信息部分。繼續刪除部分,直到它停止工作。

並編譯-Os當然是

相關問題