使用#define替换连续字符串

时间:2013-12-12 10:32:24

标签: c macros

我正在尝试为某些读/写函数编写宏。功能的格式为

k_target_socket.write8(address,val);

当我尝试#define Wx(add,val) k_target_socket.writex(address,val)时,我W8(0x100,0x120);获得了W8(0x100,0x120);,然后我用#define W(x,add,val)&替换了宏。然后得到k_target_socket.writex(0x100,0x120);有没有办法在上面两个例子中替换x

1 个答案:

答案 0 :(得分:2)

你需要的是标记粘贴。尝试以下方法:

#define W(x,ad,val) k_target_socket.write##x(ad,val)

##会将x粘贴为函数名称。

更多详情here