为了优化我的应用程序,我正在我的 qmake 项目文件中测试不同的编译器 (VS2008) 选项。
QMAKE_CXXFLAGS += /MP /Ox /arch:SSE2 /GL
但是我突然想到,虽然我为我的应用程序获得了优化的二进制文件,但它所依赖的 Qt DLL 并没有以相同的方式进行优化。
我应该重新编译我的 Qt 工具包以获得同样的好处吗?如果是这样,所有开发项目都应该寻求优化所有依赖项吗?
最佳答案
我认为在这里重新编译 Qt 没有意义。通常,( Release模式)DLL 将针对大多数用途进行充分优化编译。通常 Qt 用于 GUI,如果您的应用程序因为 Qt 代码不够快而出现性能问题,则可能有其他原因。专注于找到这些,而不是浪费时间尝试优化只负责应用程序运行时间 1% 的代码(当然,这里的 1% 只是一个猜测,如果您真的想知道,请使用分析器来确定)。
有时,库有两种形式:一种是生产 DLL,一种是用于调试。您应该确保,在 Release模式下构建时,链接了适当的 DLL。
关于c++ - 如果我将编译器优化标志添加到我的应用程序中,我是否也应该使用相同的标志重建我的工具包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5246715/