2011-02-26 34 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