2011-02-26 98 views
1

我有以下問題。我使用OpenCV在C++中完成了一個程序。我使用Eclipse CDT作爲g ++ 4.4編譯器的IDE。當我在命令行中編譯程序時,二進制文件大約比eclipse文件大兩倍。在這兩種情況下,我都使用動態鏈接(至少我是這麼認爲的),而且我沒有使用特殊的選項。什麼可能是這個問題的原因? 謝謝。使用eclipse cdt生成的代碼比命令行快得多

回答

2

你應該看看Eclipse正在使用的優化選項,太編譯你的程序。

例如,-Os選項告訴GCC儘可能減小尺寸。

+0

謝謝,的確是-O3選項。我應該檢查了這一點,但我只查看了調用鏈接器的命令,而不是單個文件編譯命令。無論如何,直到現在我還沒有意識到優化選項可以對二元效應產生如此巨大的影響。 – tichy 2011-02-26 13:08:37

+0

很高興提供幫助;)請注意,有時-O3會產生比-O2更大更慢的代碼,太多的優化並不總是好的。 – krtek 2011-02-26 13:11:41