我写了我的atomic_inc,用于使用asm递增一个整数,它实际上是用于共享对象的引用计数。gcc 4.8.2 -fsanitize=thread报告了数据竞争,我最终发现可能是我的atomic_inc引起的。我不相信我的代码有一个与数据竞争有关的bug,这是不是由tsan误报的?static inline int atomic_add(volatile int *count, int add) {
__asm__ __vo
我对gcc的在线装配很陌生。为什么这个代码输出"1“而不是"5"?代码:static inline int atomic_add(volatile int *mem, int add) asm volatile("memory" return add;{ int b=5;
printf ( "%d\n", atomic