U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(9):bool的问题

来源:互联网 发布:上海房产中介排名 知乎 编辑:程序博客网 时间:2024/05/05 16:46
 
  
在u-boot/include/asm/posix_type.h中有这样一个定义:
typedef enum { false = 0, true = 1 } bool;
但是在VDSP5中将引起一个错误:
"../../include/asm/posix_types.h", line 63: cc0040: error: expected an
          identifier
 typedef enum { false = 0, true = 1 } bool;
因为VDSP5是将false和true做为内置类型来处理的:
The bool, true, and false keywords are extensions that support the C++ boolean type in C mode. The bool keyword is a unique signed integral type, just as the wchar_t is a unique unsigned type. There are two built-in constants of this type: true and false. When converting a numeric or pointer value to bool, a zero value becomes false, and a nonzero value becomes true. A bool value may be converted to int by promotion, taking true to one and false to zero. A numeric or pointer value is converted automatically to bool when needed.
 
These keyword extensions behave as if the declaration that follows had appeared at the beginning of the file, except that assigning a nonzero integer to a bool type causes it to take on the value true.
 
   typedef enum { false, true } bool;
所以重新定义bool就是画蛇添足了,直接注释掉。
 
原创粉丝点击