奇怪的宏委托
我在现在要移植的c源代码中找到了这个宏:
#define Round256(p0, p1) \\
X##p0 += X##p1;
该代码中没有变量X。谁能告诉我#符号在这种情况下的作用?
没有找到相关结果
已邀请:
3 个回复
泻伴墓荒
是粘贴运算符。它污染了X(字面上)和每个值。因此,例如,
将转换为
。
嫩昧竞莫
在文本上将两个字符串附加在一起。 因此,在您的示例中,如果调用如下:
将被翻译成:
程琶
它会被预处理器扩展为
似乎类似于某个地方的变量X1 ... n。
将字符串化的值连接在一起。 我使用数字值的原因是宏本身的名称。