serial.cpp中
int Exec_Get_Op_Status(void)
{
return g_iShortStatus;
}
而在主对话框cpp中开了一个线程循环读串口并把值赋给g_iShortStatus,但是加断点在上面return g_iShortStatus加断点发现值没有传过来,怎么回事,而我把变量和函数都放在主对话框文件中就可以赋值,怎么办?
6 个解决方案
#1
没做线程同步吧,可能该线程并未来得及执行
#2
我在读串口的线程中加了断点g_iShortStatus是有值得,只是不知道为什么不能传到另一个文件中,怎么加同步呢?
#3
贴上代码看看吧!
#4
另一个文件中是否能访问到全局变量
#5
static volatile int g_iShortStatus
你加static的话,这个变量只能限制在改区域内使用。。
你加static的话,这个变量只能限制在改区域内使用。。
#6
已经弄好了 5楼说的对 在serial.h中定义成static了,改成extern就行了
#1
没做线程同步吧,可能该线程并未来得及执行
#2
没做线程同步吧,可能该线程并未来得及执行
我在读串口的线程中加了断点g_iShortStatus是有值得,只是不知道为什么不能传到另一个文件中,怎么加同步呢?
#3
没做线程同步吧,可能该线程并未来得及执行
我在读串口的线程中加了断点g_iShortStatus是有值得,只是不知道为什么不能传到另一个文件中,怎么加同步呢?
贴上代码看看吧!
#4
另一个文件中是否能访问到全局变量
#5
static volatile int g_iShortStatus
你加static的话,这个变量只能限制在改区域内使用。。
你加static的话,这个变量只能限制在改区域内使用。。
#6
已经弄好了 5楼说的对 在serial.h中定义成static了,改成extern就行了