PORTING.STRUCT.BOOL
结构或类存在布尔型成员
PORTING 检查器标识出那些可能依赖于不同编译器中特定实施细则的代码。PORTING.STRUCT.BOOL 检查器检测那些结构或类中存在布尔成员的情况。
漏洞与风险
当数据结构中包含“bool”数据类型的成员时,该检查器会警告您。因为不同编译器会将该数据类型表述为字节、词汇或任何其他整型布局,因此在更改编译器时,数据结构在内存中的总体布局可能发生极大的偏移。
缓解与预防
处理该问题的最佳方式是使用抽象数据类型来表示该值,这样您就可以精确地控制数据成员的宽度。另一种方法是在新平台上采用编译器指令或命令行开关。