This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

请问TMS470是否支持定义Boolean类型变量

您好!

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

谢谢!

  • 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中包含<stdbool.h>

    这个头文件定义了boolean类型,名为_BOOL.

     

    无论哪种方式,使用的时候都需要注意,逻辑上该变量类型只有0或1两种状态,但实际上并非如此,如果boolean型变量非0非1,编译器也不会报错。

    C++是默认对"bool"关键字支持的,但底层如何实现的,我不太清楚,应该也是unsigned int型吧。

     

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

    非常感谢!