TI论坛
直播中

段朝思

8年用户 360经验值
私信 关注
[问答]

请问zstack里面hal_types.h为什么这样写typedef unsigned char bool?

如题

回帖(4)

刘馨

2018-8-9 06:29:30
typedef unsigned char   BOOL;   //定义BOOL类型
typedef unsigned char   U8;        //定义U8类型
以上两句只是实现了将unsigned char这个类型重新定义了两个新类型
举报

段朝思

2018-8-9 06:39:10
引用: 潘涛12345 发表于 2018-8-9 06:29
typedef unsigned char   BOOL;   //定义BOOL类型
typedef unsigned char   U8;        //定义U8类型
以上两句只是实现了将unsigned char这个类型重新定义了两个新类型

请问这样子为什么不会有冲突,而且将unsigned char 定义成bool不是很容易让人误解吗?
举报

刘馨

2018-8-9 06:51:43
引用: 脑洞大赛7 发表于 2018-8-9 06:39
请问这样子为什么不会有冲突,而且将unsigned char 定义成bool不是很容易让人误解吗?

不会冲突,因为系统遇到这个重新定义的类型就当uchar类型理解了。不是为了误解,是因为硬件本身不支持bool,而在C语言系统里支持的,所以通过这种方式让一个uchar的空间存放这个Bool类型。。为了C语言体系的完整,以及更好的移植性和可读性,你遇到这个,就当它是真正的Bool就行了。
举报

段朝思

2018-8-9 06:57:21
引用: 潘涛12345 发表于 2018-8-9 06:51
不会冲突,因为系统遇到这个重新定义的类型就当uchar类型理解了。不是为了误解,是因为硬件本身不支持bool,而在C语言系统里支持的,所以通过这种方式让一个uchar的空间存放这个Bool类型。。为了C语言体系的完整,以及更好的移植性和可读性,你遇到这个,就当它是真正的Bool就行了。 ...

非常感谢
举报

更多回帖

发帖
×
20
完善资料,
赚取积分