c++ - 如何防止功能被优化

标签 c++ c gcc

我正在优化整个代码,但我不希望优化某个函数,比如出于调试目的。有没有办法在 gcc 3.4+ 编译器上做到这一点?

最佳答案

最简单的方法,将函数放在它自己的编译单元中,编译那个没有优化标志的单元。

最近的 gcc 版本(我认为是 4.4+)有一个属性来控制每个函数的优化,使用

__attribute__((optimize(0))) 

关于禁用优化的功能

关于c++ - 如何防止功能被优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1493933/

相关文章:

c++ - 是否可以制作一个只能采用特定类型的模板?

python - Py_initialize/Py_Finalize 不能与 numpy 一起工作两次

c 文件中内联汇编代码的编译错误,可能与分支有关

c++ - 替换少量字节时如何在大字节数组上重新计算 CRC32

c++ - 模板变量作为 unordered_map 键,迭代器问题

c++ - 无法从 'const std::reverse_iterator<_RanIt> &' 推断出 'std::string' 的模板参数

从 IP 范围到 CIDR 掩码的转换

c - 将参数反转为可变参数宏

c++ - 使用 Valgrind 的 std::fpclassify for long double 的错误结果

c++ - 在 gcc 中将目录的包含顺序设置为最后