gpt4 book ai didi

c++ - 仅为单个函数/文件启用编译器优化

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:37:23 25 4
gpt4 key购买 nike

我正在 Visual Studio 2012 环境中编写 C++ 代码。代码库不是很大(包含在大约 10-12 个源文件中)。我项目中某些函数的执行时间很长(例如 REL 模式下 10 秒,DEBUG 模式下 50 秒)

现在,在调试时,我经常需要查看在我的应用程序生命周期结束时执行的函数。有没有办法仅针对我的项目中的特定函数和/或文件禁用编译器优化。这将使我能够优化一些计算量大的函数的执行

注意:我之前错误地提到了“调试符号”而不是“编译器优化”。我基本上是在问这个问题 w.r.t.编译器优化,因此在使用断点进行调试时检查变量值变得困难。

最佳答案

您可以在属性->C/C++->优化对话框中为特定文件打开或关闭优化。这与您将用于整个项目的对话框相同,但每个文件的设置将覆盖项目设置。

如果您愿意,您还可以使用 #pragma optimize( "", off )#pragma optimize( "", on ) 围绕特定函数或代码区域这样做。

无论哪种方式,您都希望为整个程序生成调试符号。将它们放在那里不会减慢任何速度,并且允许您根据需要调试优化的代码。这更加困难,因为局部变量等在监 window 口中通常不正确,行号可能不完全对齐,但在它和反汇编 View 之间,您通常可以分辨出发生了什么。

关于c++ - 仅为单个函数/文件启用编译器优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16515165/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com