是否有可能哄std ::primefaces输出CMPXCHG16B我不想在Windows x64上使用primefaces互锁操作感兴趣的types,或者我只需要吮吸它并手动执行primefaces操作? 我可以得到GCC / Clang在Linux上这样做,所以我怀疑它只是与Microsoft标准库的一个问题。
struct Byte16 { int64_t a, b; }; std::atomic<Byte16> atm; Byte16 a = { 1, 2 }; atm.compare_exchange_strong(...); // This has a lock on Windows, not on Linux version of code
在windows中使用__m128
#include <emmintrin.h> //... std::atomic<__m128> a, c; __m128 b; a.compare_exchange_strong(b,c); ///...