warning C4800: “BOOL”: 将值强制为布尔值“true”或“false”(性能警告)
2013-04-16 21:56 鉴于 阅读(4104) 评论(0) 编辑 收藏 举报在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