error D8016: “/O2”和“/RTC1”命令行选项不兼容的解决方案

场景

        debug模式启用速度最大优化,出现如上的问题

        debug模式如果C++/优化属性页中,优化选项选择使速度最大化(/O2),C++/代码生成属性页,基本运行时检查只能选择默认值,如果这个时候,选择两者(/RTC1,等同于 /RTCsu) (/RTC1),就会出现上述的编译问题。默认情况下release版本是/O2搭配默认值使用,所以没有上面的问题。


如下是摘自:https://docs.microsoft.com/en-us/cpp/build/reference/rtc-run-time-error-checks?redirectedfrom=MSDN&view=vs-2019

/RTC(Run-Time Error Checks运行时错误检测) 

应用于启用或者禁用运行时错误检测的编译参数选项,搭配运行时检测语法

当给一个小型数据变量被赋值一个大的值,产生溢出的时候将会报告该错误。例如短整型short 0x101赋值给一个char变量

猜你喜欢

转载自blog.51cto.com/fengyuzaitu/2490834
今日推荐