最近在看KAFKA,看到这样一行代码,对于宏定义的 __sync_ 不知道是什么意思?网上也没有找到什么解释,不知道有没有朋友知道的?
C/C++ code
// atomic_64
#define ATOMIC_OP(OP1,OP2,PTR,VAL) __sync_ ## OP1 ## and ## OP2 (PTR, VAL)
最近在看KAFKA,看到这样一行代码,对于宏定义的 __sync_ 不知道是什么意思?网上也没有找到什么解释,不知道有没有朋友知道的?
C/C++ code
// atomic_64
#define ATOMIC_OP(OP1,OP2,PTR,VAL) __sync_ ## OP1 ## and ## OP2 (PTR, VAL)
sync的字面意思是同步、同时的意思。
这句宏定义的意思是 ATOMIC_OP(OP1,OP2,PTR,VAL)等同与## OP1 ## and ## OP2 (PTR, VAL)
其实完全没必要理解sync是什么意思,#define定义的意思就是用后边连代替前面。 前面也许是个宏名,后面是个表达式的样子。