warning C4800: “BOOL”: 将值强制为布尔值“true”或“false”(性能警告)

在MFC程序中混用BOOL和bool,编译时产生警告信息

warning C4800: “BOOL”: 将值强制为布尔值“true”或“false”(性能警告)

查看了对应的汇编文件,用的都是mov、cmp、setne这些不太耗时的指令。有些告警信息不用太在意。

bool a = false;
00C72F33 mov byte ptr [a],0 
BOOL b = a;
00C72F37 movzx eax,byte ptr [a] 
00C72F3B mov dword ptr [b],eax 
bool c = b;
00C72F3E cmp dword ptr [b],0 
00C72F42 setne al 
00C72F45 mov byte ptr [c],al

  

原文地址:https://www.cnblogs.com/ityujian/p/3025018.html