Переопределение макро-предупреждений в коде модуля ядра

Я делаю упражнения для начинающих. В нескольких источниках они определяют следующие макросы:

#define MODULE
#define LINUX
#define __KERNEL__

Но kbuild предупреждает:

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

Итак, мои вопросы:

  1. Каковы эти определения в любом случае?
  2. Почему "переопределение" требует предупреждения? Просто потому, что в целом это означает, что предыдущее (желаемое) значение макроса было переопределено?
  3. Почему бы не поставить эти определения в #ifndef блоки?

0 ответов

Другие вопросы по тегам