如果我向我的应用程序添加编译器优化标志,我还应该使用相同的标志重建我的工具包吗?

时间:2011-03-09 13:50:16

标签: c++ qt optimization qt4

要优化我的应用程序,我在qmake项目文件中测试不同的编译器(VS2008)选项。

QMAKE_CXXFLAGS += /MP /Ox /arch:SSE2 /GL

然而,我发现虽然我为我的应用程序获得了优化的二进制文件,但它依赖的Qt DLL没有以相同的方式进行优化。

我应该重新编译我的Qt工具包以获得相同的好处吗?如果是这样,所有开发项目都应该优化所有依赖项?

1 个答案:

答案 0 :(得分:1)

我认为重新编译Qt在这里没有意义。通常,(发布模式)DLL将针对大多数用途进行充分优化编译。通常Qt用于GUI,如果您的应用程序由于Qt代码不够快而导致性能问题,那么还有其他原因。专注于寻找这些而不是浪费你的时间来尝试优化只负责1%应用程序运行时的代码(当然1%只是猜测,使用分析器来查明你是否真的想知道)。

有时库有两种形式:生产DLL和一种用于调试。你应该确保,当在发布模式下构建时,相应的DLL会被链接。