社区
工具平台和程序库
帖子详情
Qt 奇怪,已经无语
xxoospring
2016-08-26 05:11:22
qt下面,简单程序,啥都不说,上图1:
如上图,watch窗口可以看见flag = 75,接下来判定if里面的条件,很明显条件肯定不成立,但是结果呢,见下图2:
这是为什么????if后面没有 ; ,项目也清理过,如果你以为到此就完了,那么后面还有高能的,运行 return 1 应该是退出函数了,
但是再点一次step over,它又跳回while那一行了!!
真是日了doge了,what happened!!!
...全文
246
10
打赏
收藏
Qt 奇怪,已经无语
qt下面,简单程序,啥都不说,上图1: 如上图,watch窗口可以看见flag = 75,接下来判定if里面的条件,很明显条件肯定不成立,但是结果呢,见下图2: 这是为什么????if后面没有 ; ,项目也清理过,如果你以为到此就完了,那么后面还有高能的,运行 return 1 应该是退出函数了, 但是再点一次step over,它又跳回while那一行了!! 真是日了doge了,what happened!!!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xxoospring
2016-08-26
打赏
举报
回复
引用 8 楼 falloutmx 的回复:
你编译的时候是不是没有关闭优化,导致gdb和代码对不上
极有可能是你说的这个原因,程序运行结果是对的。
xxoospring
2016-08-26
打赏
举报
回复
引用 8 楼 falloutmx 的回复:
你编译的时候是不是没有关闭优化,导致gdb和代码对不上
怎么关闭?
falloutmx
2016-08-26
打赏
举报
回复
你编译的时候是不是没有关闭优化,导致gdb和代码对不上
xxoospring
2016-08-26
打赏
举报
回复
引用 5 楼 u010165006 的回复:
单步指示到那一行,return 1并没有执行。
首先很奇怪的是这个if他是怎么进来的。
xxoospring
2016-08-26
打赏
举报
回复
1.强转int没有用 2.单步知识进入了if,可是你看看第二张图,flag=75,这个if(0==flag)条件是不成立的,为什么会进去?
ooolinux
2016-08-26
打赏
举报
回复
单步指示到那一行,return 1并没有执行。
ztenv
2016-08-26
打赏
举报
回复
打打日志,单步调调看,
xxoospring
2016-08-26
打赏
举报
回复
这是代码。实在没办法,把函数里面关于文件操作的都去掉,只有一句话:if(0 == 75)return 1;它执行又是正确的。。。。。
没有
bool Dialog::CheckItem(QString date)
{
QFile fr("F:/note/note_record.txt");
fr.open(QIODevice::ReadOnly);
QTextStream in(&fr);
in.setCodec("UTF-8");
while(!in.atEnd())
{
QString temp = QString(in.readLine());
char flag = QString::compare(date, temp);
if(0 == flag)
return 1;
}
fr.close();
return 0;
}
ooolinux
2016-08-26
打赏
举报
回复
if ( 0 != flag ) 等于还是不等于? flag==75 !=0 怎么执行 return 1 ?
ooolinux
2016-08-26
打赏
举报
回复
if ( 0 == (int)flag )有用吗?
Qt
十多年的开发经验,无私奉献!
增加了很多轮子,同时原有模块拆分的也更细致,估计为了方便拓展个管理。把一些过度封装的东西移除了(比如同样的功能有多个函数),保证了只有一个函数执行该功能。把一些
Qt
5中兼容
Qt
4的方法废弃了,必须用
Qt
5中对应的新的函数。跟随时代脚步,增加了不少新特性以满足日益增长的客户需求。对某些模块和类型及处理进行了革命性的重写,运行效率提高不少。有参数类型的变化,比如 long * 到 qintptr * 等,更加适应后续的拓展以及同时对32 64位不同系统的兼容。
关于Ubuntu编译
Qt
失败问题
这两天被
Qt
折腾疯了,由于使用的嵌入式开发平台对
Qt
版本有限制,因此只能通过编译源码安装,然而第五次编译依然失败。。。 我遇到了各种
奇怪
的问题,比如数据类型错误,括号错误,强制转换错误,我甚至手工更改cpp文件,但都是解决了这个问题又出现新的问题,逼到绝路的我只能使用厂家提供的Fedora 8,这下可好,一次编译成功,然后好奇的我又去搜索了一下Ubuntu,Fedora哪个更适合做嵌入式开发,结果发
Qt
武林秘籍学习笔记摘要
Qt
武林秘籍
Qt
使用QMediaPlayer播放MP3
代码很简单,直接复制帮助里的代码: #include <
Qt
Core/QCoreApplication> #include <
Qt
Multimedia/QMediaPlayer> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); QMediaPlayer * player =...
Qt
开发经验(转载)
本文转载于https://
qt
china.blog.csdn.net/?type=blog,feiyangqingyun的博客,感谢大佬的经验分享。 默认
Qt
Creator是单线程编译,可能设计之初考虑到尽量不过多占用系统资源,而现在的电脑都是多核心的,默认msvc编译器是多线程编译的不需要手动设置,而对于其他编译器,需要手动设置才行。 方法一:在每个项目的构建设置中(可以勾选一个 shadow build 的页面地方)的build步骤,make arguments增加一行 -j16 即可,此设置会保
工具平台和程序库
24,860
社区成员
27,333
社区内容
发帖
与我相关
我的任务
工具平台和程序库
C/C++ 工具平台和程序库
复制链接
扫一扫
分享
社区描述
C/C++ 工具平台和程序库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章