__transaction_atomic без поддержки транзакционной памяти

Я просто компилировал код 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

2

Решение

Вы должны скомпилировать код с включенной поддержкой памяти транзакций.
Отсюда

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

7

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]