我们使用Microsoft Visual Studio Professional 2015, Version 14.0.25431.01 Update 3
构建项目。在为C4702
平台构建解决方案时,完全相同的代码会给编译器警告x86
(无法访问的代码),但在为x64
平台构建解决方案时没有警告。
代码如下所示:
if (is_some_condition)
Func_1();
else
Func_2();
LOG_MSG("...some logs...") // ----> compiler warning C4702 here!
现在,Func_1
和Func_2
内部都有一个无限的工作循环,如下所示:
void Func_1()
{
while(true)
{
// ...do something...
}
}
我理解,警告的内容是什么,但我不明白,为什么它仅针对x86
目标而不针对x64
。这有什么区别?控制流程是否有任何不同之处?为什么?请帮忙。