2014-02-28 73 views
0

我正在eclipse中使用autotools構建運行OpenWRT的嵌入式系統的程序。我已經設置了所有的調試工作。如果我將編譯好的可執行文件發送給某人,它的效率會高於未編譯爲用於調試的效率嗎?gcc添加了哪些調試信息?

回答

1

生成的可執行文件(對於相同的給定源代碼)的效率取決於編譯器和優化標誌。

如果編譯只gcc -g沒有任何優化參數你的代碼,它是當你與優化參數(例如gcc -O2)編譯比慢得多。

如果需要,您可以混合使用-O2-g。添加-g不會降低可執行文件的速度(但會添加一些調試信息)。 gdb調試器在調試可執行文件時可能會顯示一些奇怪的行爲(因爲優化是內聯,重新排序指令等)。最近的GCC(即4.8)甚至增加了一個-Og選項(優化用於調試),即用gcc -Og -g進行編譯。

+0

好點。這不會是最佳的,因爲我將優化關閉進行調試。謝謝。 – adrianwadey