重新定义内核模块代码中的宏警告

时间:2014-05-16 05:24:48

标签: c linux macros kernel kbuild

我正在进行初学者的内核模块练习。在几个来源中,他们定义了以下宏:

#define MODULE
#define LINUX
#define __KERNEL__

但是kbuild警告说:

warning: "MODULE" redefined [enabled by default]
...
warning: "__KERNEL__" redefined [enabled by default]

所以我的问题是:

  1. 无论如何,这些定义是什么?
  2. 为什么“重新定义”需要警告?仅仅因为它通常意味着已覆盖宏的先前(所需)值?
  3. 为什么不将这些定义放在#ifndef块中?

0 个答案:

没有答案