BOOL定义

Alp*_*neo 2 c embedded boolean

每当BOOL数据类型不容易预定义时,我习惯使用以下定义进行布尔运算,

typedef unsigned char BOOL;

(由于内存使用).

我意识到出于性能原因使用本机总线宽度可能更好.例如,对于32位处理器,它可以是

typedef unsigned int BOOL;

现在,如果我仍然想为本机总线宽度定义BOOL,64位处理器会发生什么.

Mar*_*usQ 13

我不担心本机总线宽度,而是有效宽度(这是你的目标,对吧)?在几乎任何机器上,任何体面的c编译器都会编译unsigned int到合理有效的宽度,所以你很高兴.


phi*_*ant 9

永远不要推测表演,衡量.测量,将给出更好的答案 - 并记住这可能会在每个新的编译器版本,系统升级时发生变化......

也有一天你可能需要一个布尔数组,在这种情况下使用bool的处理器字不是最好的解决方案.


Jud*_*den 5

为什么不在stdbool.h中使用bool类型?