zstack里面hal_types.h为什么这样写typedef unsigned char bool
时间:10-02
整理:3721RD
点击:
如题
typedef unsigned char BOOL; //定义BOOL类型
typedef unsigned char U8; //定义U8类型
以上两句只是实现了将unsigned char这个类型重新定义了两个新类型
请问这样子为什么不会有冲突,而且将unsigned char 定义成bool不是很容易让人误解吗?
不会冲突,因为系统遇到这个重新定义的类型就当uchar类型理解了。不是为了误解,是因为硬件本身不支持bool,而在C语言系统里支持的,所以通过这种方式让一个uchar的空间存放这个Bool类型。。为了C语言体系的完整,以及更好的移植性和可读性,你遇到这个,就当它是真正的Bool就行了。
非常感谢