找回密码
 立即注册
收起左侧

Qt每个函数的运行时间是不是有时间限制?

2
回复
5695
查看
[复制链接]

尚未签到

来源: 2019-1-17 15:22:49 显示全部楼层 |阅读模式
1Qter豆

在某一个槽函数内,有如下代码:

m_KSRD.T55x7WriteDirect(1, &wrBuff[0]);
m_KSRD.T55x7WriteDirect(2, &wrBuff[4]);
m_KSRD.T55x7WriteDirect(3, &wrBuff[8]);
m_KSRD.T55x7WriteDirect(4, &wrBuff[12]);
m_KSRD.T55x7WriteDirect(5, &wrBuff[16]);
m_KSRD.T55x7WriteDirect(6, &wrBuff[20]);


每调用一次“m_KSRD.T55x7WriteDirect()”都会执行大约350ms的时间。
其中,wrBuff 为全局定义变量。
一般执行到第3次时,就会提示:“The inferior stopped because it received a signal from the Operating System”

检查代码,也不存在什么野指针。

将这段代码拆分为6个小函数,比如:
a(); b(); c(); d(); e(); f();
每个小函数都包含上述代码的一条语句。比如,
a函数里面只有:m_KSRD.T55x7WriteDirect(1, &wrBuff[0]);
b函数里面只有:m_KSRD.T55x7WriteDirect(2, &wrBuff[4]);
c/d/e/f函数一次类推。

主函数更改为
a();
b();
c();
d();
e();
f();


此时再执行代码则无问题


请问,这个是由什么原因造成的?
我感觉是每个函数的执行时间,系统或编译器对其做了限制,请问是不是这个问题呢,是的话,编译环境是从什么地方定义的,或者如何修改,谢谢!!

本人是个新手,感谢各位不吝赐教!!谢谢!!!

回复

使用道具 举报

累计签到:742 天
连续签到:1 天
2019-1-17 19:25:43 显示全部楼层
不看问题,这个理论上是不可能的,这个函数的内部实现你可以研究一下,
回复

使用道具 举报

尚未签到

2019-1-17 21:06:46 显示全部楼层
Since 发表于 2019-1-17 19:25
不看问题,这个理论上是不可能的,这个函数的内部实现你可以研究一下,

这个函数的内部是调用的DLL文件,串口通讯用的。不过串口接收跨线程了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了