2

我只是在编译 C/C++ 代码,__transaction_atomic但发生了编译器错误

  • [Error] __transaction_atomic' without transactional memory support enabled

代码是:

#include <stdio.h>
int main()
{
    int i = 0;
    __transaction_atomic
    {
        i++;
    }
    return 0;
}

如何弄清楚?我的编译器是 GCC 4.9

4

1 回答 1

7

您应该在启用事务内存支持的情况下编译代码。 从这里

使用 GCC 编译 TM 程序要启用对 TM 的支持,必须将“-fgnu-tm”编译器指令添加到编译命令行中。示例:gcc -Wall -fgnu-tm -O3 -o ll ll.c 注意,在优化级别 0 (-O0) 下,一些 TM 优化被禁用(RaR、RaW、RfW、WaR、WaW、优化堆栈内存障碍)。

于 2015-12-24T08:56:13.377 回答