c++ - 如果我将编译器优化标志添加到我的应用程序中,我是否也应该使用相同的标志重建我的工具包?

标签 c++ qt optimization qt4

为了优化我的应用程序,我正在我的 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/

相关文章:

C++ 将位图 "Right Way up"读入一维 vector 的最佳方法

c++ - 在任意原点调整矩形形状

c++ - QComboBox 在 PopUp 处于事件状态时编辑 LineEdit

c++ - 如何使用 Qt 打开网络摄像头并捕获图像并将其保存在系统上

MySQL 与子查询不同

c++ - 使用 std::cin 初始化 const 变量有什么技巧吗?

c++ - 在 opencv2.4.5 中使用 createButton(Qt gui 功能)段错误

c++ - OpenVDB 错误 : Q_FOREACH passed 3 arguments, 但只需要 2

python - scipy.optimize.minimize : ValueError: all the input arrays must have same number of dimensions

php - 来自具有一个公共(public)键的两个其他数组的新数组。有什么优化技巧吗?