在 Linux 内核中,there can be found a line of code在我看来是多余的:
#define __arch_swahb32 __arch_swahb32
这样的成语有什么用?
最佳答案
考虑以下代码:
#ifdef foo
foo();
#endif
如果你想要像上面这样的代码片段调用函数foo
,你需要定义foo
。然而,如果你只是
#define foo
然后函数 foo
名称将被替换为空标记,并且第一个片段被预处理为 ();
。但是,如果您
#define foo foo
然后第一个片段将按原样预处理为 foo();
。
关于c - 为什么 Linux 内核 #define 一个符号作为它自己?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41018115/