没有启用事务内存支持的__transaction_atomic

2 c++ gcc locking atomic transactional-memory

我只是使用编译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;
}
Run Code Online (Sandbox Code Playgroud)

怎么搞清楚?我的编译器是GCC 4.9

For*_*veR 7

您应该编译启用了事务内存支持的代码. 从这里

编译程序TM用GCC 要启用TM支持,"-fgnu-TM"编译器指令必须被添加到编辑命令行.例如:GCC -Wall -fgnu-TM -O3 -o LL ll.c注意,对于优化级别0(-O0),一些TM优化的被禁用(RAR,RAW,RFW,战争,WAW,优化的栈存储器障碍).