TI论坛
直播中

薄坤坤

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

请问TMS470编译器是否支持定义Boolean类型变量,应如何定义

您好!
请问TMS470编译器是否支持定义Boolean类型变量,应如何定义!
谢谢!

回帖(2)

李麒铭

2020-6-15 15:30:54
Hi Jason,
        Boolean类型变量对于ANSI C来说,是一个逻辑概念,它被定义为unsigned int型(但是ANSI标准不针对任何特定编译器或芯片)。
        CCS默认不对Boolean进行支持,一般情况下,用户可以自行定义,如:
                typedef unsigned char CPU_BOOLEAN; /* 8-bit boolean or logical */
        一般会使用unsigned char型来定义boolean。
 
        如果您希望使用严格ANSI定义,那么可以在CCS中包含
        这个头文件定义了boolean类型,名为_BOOL.
 
        无论哪种方式,使用的时候都需要注意,逻辑上该变量类型只有0或1两种状态,但实际上并非如此,如果boolean型变量非0非1,编译器也不会报错。
        C++是默认对"bool"关键字支持的,但底层如何实现的,我不太清楚,应该也是unsigned int型吧。
 
举报

薄坤坤

2020-6-15 15:48:40
引用: testd27 发表于 2020-6-15 17:05
Hi Jason,
        Boolean类型变量对于ANSI C来说,是一个逻辑概念,它被定义为unsigned int型(但是ANSI标准不针对任何特定编译器或芯片)。
        CCS默认不对Boolean进行支持,一般情况下,用户可以自行定义,如:

谢谢!既然编译器不识别非0非1的错误,也只能用unsigned char定义了!
非常感谢!
举报

更多回帖

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