我只是使用编译C/C++代码__transaction_atomic
但发生编译错误
[Error] __transaction_atomic' without transactional memory support enabled
代码是:
#includeint main() { int i = 0; __transaction_atomic { i++; } return 0; }
怎么搞清楚?我的编译器是GCC 4.9
您应该编译启用了事务内存支持的代码. 从这里
编译程序TM用GCC 要启用TM支持,"-fgnu-TM"编译器指令必须被添加到编辑命令行.例如:GCC -Wall -fgnu-TM -O3 -o LL ll.c注意,对于优化级别0(-O0),一些TM优化的被禁用(RAR,RAW,RFW,战争,WAW,优化的栈存储器障碍).