麦步社区-论坛
标题:
表盘编写坑—数据类型
[打印本页]
作者:
包子馒头2
时间:
2016-5-12 09:43
标题:
表盘编写坑—数据类型
刚从坑里爬出来,和大家分享一下。
最近写表盘,为了省代码,很多变量都定义成char型的。一不小心,有的函数返回值是int型,但却用了char型变量去接收,结果就溢出了变成负数了。例如:
char
g_window_id
;
int
main
(
void
)
{
P_Window p_window
=
init_window
();
g_window_id
=
app_window_stack_push
(
p_window
);
return
0
;
}
这样给g_window_id赋值的话,当
app_window_stack_push
(
p_window
)
返回值大于128时,g_window_id 就会变成负数。从而在使用 P_Window p_window = app_window_stack_get_window_by_id(g_window_id); 无法获取窗口指针,进而也就无法更新窗口界面了。
顺便说一句,跟重启有关的表盘问题,很大概率是全局变量出错了。
作者:
陶坤@麦步
时间:
2016-5-12 10:14
很好的经验分享
作者:
陶坤@麦步
时间:
2016-5-12 10:15
啥时候把表盘或者应用分享出来呀
作者:
wgjtyu
时间:
2016-5-13 15:47
感谢楼主
欢迎光临 麦步社区-论坛 (http://bbs.maibu.cc/)
Powered by Discuz! X3.2