永发信息网

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

答案:2  悬赏:80  手机版
解决时间 2021-02-22 13:39
Windows 版的 Qt Creator 调试功能为什么如此慢?有什么解决方法吗
最佳答案
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
#include
这两个文件里又包含了几乎所有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%。
全部回答
qt5已经不支持phonon,再说就算支持phonon实在不好用,像vlc什么的还是很不错的。 如果你想支持qt多媒体的话,视频、音频等都在multimedia库里。 详细的自己看文档吧。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
美术联考212文化460能上一本么??
华晨宝马全新一代x1长轴车什么时候上市
淘宝怎么发视频
三星S7是单曲面屏?
周公解梦,两双鞋
福州水电费涨价了吗?
浙大恩特软件公司怎么样
手机内存卡,闪存,用了什么技术,可以改 显
【乘法的意义】乘法的意义
中国人为什么普遍反美
以下哪项不属于人工流产范畴A.妊娠10周内,负
Canon LBP 6018 激光打印机 电脑发出任务后打
齐河振兴宾馆地址好找么,我有些事要过去,
此 彼 打一成语
诺宝大厦地址在哪,我要去那里办事
推荐资讯
单锅筒和双锅筒的自然循环蒸汽锅炉中,为什么
红色警戒共和国之辉人怎么牵狗
炒海鲜是生炒吗?
老百姓生鲜店地址在哪,我要去那里办事
决定生物进化方向的是DA. 基因突变和基因重组
《人民日报》为什么不接受人民的投稿?
求汤姓男孩取名
赵忠祥和赵本山父亲赵忠福是什么关系
刚进手机淘宝店看到有华为荣耀3c.价格是5百多
颐馨苑主题客栈我想知道这个在什么地方
怀柔936旅游专线至幽谷神潭站几点发车?多长
请青岛高手指教,,我7月5日从原单位离职,到
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?