c++ - 强制 gcc 不内联函数

标签 c++ gcc

我尝试通过以下方式阻止 gcc 内联函数:

template <typename T, precision P> __attribute__ ((noinline))
void func () {}

但它仍然内联函数。

有没有办法强制执行?

问候

最佳答案

让 gcc 相信这个函数有副作用:

template <typename T, precision P> __attribute__ ((noinline))
void func () {
    asm volatile("");
}

demo

关于c++ - 强制 gcc 不内联函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54309000/

相关文章:

c++ - 使用数组实现堆栈

c++ - 高 dpi 和低 dpi 系统的 Qt Creator 行编辑和按钮大小

c - 在 gcc 中匿名使用预定义的结构?

c - DWARF 信息对于 DW_AT_high_pc 与 gcc 4.8.2 似乎是错误的

c++ - GCC 不遵守 'pragma GCC diagnostic' 以消除警告

python - 如何让 Python 和 distutils 在 Mac OS X 上使用正确的 SDK?

c++ - GDI+ 仅在内存 DC 上绘制单色

c++ - 基类析构函数如何调用派生析构函数?

c++ - MFC 中 CTabCtrl 与 CPropertySheet 哪个更受欢迎?

c++ - 如何在 MacOS 上的 g++ 中使用 gcc 内置 __sync_bool_compare_and_swap?