Я просто компилировал код 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
Вы должны скомпилировать код с включенной поддержкой памяти транзакций.
Отсюда
Компиляция программы ТМ с помощью GCC Чтобы включить поддержку TM,
Директива компилятора ‘-fgnu-tm’ должна быть добавлена в компиляцию
командная строка. Пример: gcc -Wall -fgnu-tm -O3 -o ll ll.c Обратите внимание, что
с уровнем оптимизации 0 (-O0), некоторые из оптимизации ТМ
отключено (RaR, RaW, RfW, WaR, WaW, оптимизированные барьеры памяти стека)
Других решений пока нет …