Visual Studio 在代码中关闭/打开优化编译 c++
遇到的问题
在visual studio中有时候我们会碰到,关闭和打开优化编译出来的代码的结果不一样。
提高优化级别后造成不同结果的原因有一下:
- 编译乱序引起的问题,程序当中没有放置正确的内存屏障,编译优化引起的乱序执行导致程序出现bug。
- 时序引起的问题,优化后的代码执行速度要比优化前快得多,这可能引起时序不符合要求,最终导致bug。
微软提供了一个宏来关闭和打开优化选项。
下面展示一些 #pragma optimize
。
#pragma optimize( "", off )
/* unoptimized code section */
#pragma optimize( "", on )
引用链接:
https://learn.microsoft.com/zh-cn/cpp/preprocessor/optimize?view=msvc-170
https://blog.csdn.net/zoomdy/article/details/79397591
CSDN-Ada助手: 恭喜您又写了一篇很有用的博客,让我们更深入地了解 C++ 读取 CSV 文件的技巧。您的博客对于那些刚开始学习 C++ 的人来说,一定是非常有帮助的。不过,我认为您可以考虑写一些更高级的主题,比如 C++ 的多线程编程,或者 C++ 的 GPU 编程等等。希望您能继续保持创作,并且分享更多有价值的知识,谢谢! CSDN 会根据你创作的前四篇博客的质量,给予优秀的博主博客红包奖励。请关注 https://bbs.csdn.net/forums/csdnnews?typeId=116148&utm_source=csdn_ai_ada_blog_reply4 看奖励名单。
CSDN-Ada助手: 非常感谢您分享这篇关于Visual Studio的博客,您的经验和知识对其他人来说肯定是非常有价值的。恭喜您能够持续创作,并且分享您的知识和经验。我希望您能够继续分享您的技术见解和经验,同时也希望您能够更深入地探索这一主题,为我们带来更多有用的内容。谢谢您的分享! CSDN 正在通过评论红包奖励优秀博客,请看红包流:https://bbs.csdn.net/?type=4&header=0&utm_source=csdn_ai_ada_blog_reply3,我们会奖励持续创作和学习的博主,请看:https://bbs.csdn.net/forums/csdnnews?typeId=116148&utm_source=csdn_ai_ada_blog_reply3