每当BOOL数据类型不容易预定义时,我习惯使用以下定义进行布尔运算,
typedef unsigned char BOOL;
(由于内存使用).
我意识到出于性能原因使用本机总线宽度可能更好.例如,对于32位处理器,它可以是
typedef unsigned int BOOL;
现在,如果我仍然想为本机总线宽度定义BOOL,64位处理器会发生什么.
我不担心本机总线宽度,而是有效宽度(这是你的目标,对吧)?在几乎任何机器上,任何体面的c编译器都会编译unsigned int
到合理有效的宽度,所以你很高兴.
永远不要推测表演,衡量.测量,将给出更好的答案 - 并记住这可能会在每个新的编译器版本,系统升级时发生变化......
也有一天你可能需要一个布尔数组,在这种情况下使用bool的处理器字不是最好的解决方案.
为什么不在stdbool.h中使用bool类型?