Windows 版的 Qt Creator 调试功能为什么如此慢?有什么解决方法吗

 我来答
棉花糖QQonedcae4
2016-10-22 · 知道合伙人互联网行家
棉花糖QQonedcae4
知道合伙人互联网行家
采纳数:20232 获赞数:39191
山东师范大学计算机科学与技术专业,本科学士学位,培训过软件开发,及法律。

向TA提问 私信TA
展开全部
1. “用Qt写的程序编译比MFC慢”的说法是错误的

绝对错误,单位代码行数编译Qt远比MFC快得多,因为Qt库的头文件设计非常好,尽量都使用了前置声明,避免了头文件嵌套,几乎所有类都使用了公有类和私有类的设计,把没必要公开的声明放到私有头文件里,避免了编译时引入过多代码。而MFC没有这样的设计。
至于大家感觉MFC快主要原因是MFC工程默认打开了编译预处理头文件(PCH),但是这是VC编译器的特性,所有C++程序都可以用,不是MFC特有,Qt也可以使用 PCH
方法很简单,在你的 .pro 文件中加入一行

PRECOMPILED_HEADER = stable.h
指定 Stable.h这个头文件作为编译预处理文件,MFC里这个文件一般叫stdafx.h
然后在 stable.h里 包含你所用到的所有 Qt 头文件,如果你用了很多qt的类可以直接包含所有
比如 :

#include <QtCore>
#include <QtGui>
这两个文件里又包含了几乎所有Qt常用类
不用担心,即使包含了所有头文件也没关系,有了PCH再多头文件也没影响。

如果你还想编译再快点,可以在 .pro里加入下面一行

QMAKE_CXXFLAGS += /MP
指定/mp编译选项,编译器将使用并行编译,同时起多个编译进程并行编译不同的cpp

而且QT这种引入PCH的方法比MFC的好,由于MFC的PCH选项是每个工程逐个指定的,很容易被某些人搞坏,我曾经无数次修复PCH问题,但是Qt的选项是写在.pro里的,写一次就永远不会错。
MFC一旦弄坏了PCH,编译也慢得令人发指。

给个参考时间吧,YY最新版本大约 100多万行C++代码,rebuild debug和releae总共需要20多分钟,机器是i5 四核SSD硬盘。其实对于大项目硬盘才是瓶颈,如果换机械硬盘要慢差不多70%,有个同事用10G内存做了个内存盘编译,还能快30%。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式