了解Linux内核中的#define #ifdef和宏

时间:2011-10-10 18:37:53

标签: macros kernel c-preprocessor conditional-compilation ifdefine

我刚刚开始审核Linux内核的工作,我无法帮助,但在源代码中注意到大量的#defines和#ifdefs。我似乎无法准确理解这些是如何被使用的。我检查了网络,但我发现的描述看起来很模糊。任何人都可以告诉我究竟#defines等是什么以及为什么使用它们?我现在需要一个简短的解释。

此外,人们在我看过的不同来源上谈论宏。我完全不知道他们在谈论什么,再次像我之前在网上发现的任何描述一样同样神秘。有人可以向我解释宏吗?它们是如何定义的以及为什么它们在Linux内核中如此频繁地使用(显然是我所知道的)。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

我进一步研究了我之前的问题,发现我需要查看C预处理器以获得答案。一位讲师菜单说预处理器扩展了宏,所以我跟进了它。这是其他任何对宏等背后的意义感兴趣的链接the c preprocessor 希望它能帮助其他一些失去的灵魂:)

相关问题