__transaction_atomic,但未启用事务内存支持



我刚刚使用__transaction_atomic编译C/C++代码,但发生了编译器错误

  • [Error] __transaction_atomic' without transactional memory support enabled

代码为:

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

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

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

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

相关内容

  • 没有找到相关文章

最新更新