требований к кроссплатформенности нет, но интерлокед хотелось бы использовать только если не останется вариантов.
Пытался сделать ассемблерной вставкой с командами CLI/STI и опкодом LOCK — но не помогает… =/
Конкретно на ваш вопрос не отвечу. Но сам пишу во фреймворке U++, где все эти вещи присутствуют в кроссплатформенном виде:
Atomic t;
AtomicWrite(t, 1);