Понимание #define #ifdef и макросов в ядре Linux

Я только начал работу по аудиту ядра Linux и не могу не заметить в исходном коде множество #defines и #ifdefs. Я не могу понять, как именно они используются. Я проверил сеть, но описания, которые я нашел, кажутся ужасно расплывчатыми. Может ли кто-нибудь объяснить мне, что именно #defines и тому подобное делают и почему они используются? Краткое объяснение - это все, что мне нужно на данный момент.

Более того, люди много говорят о макросах из разных источников, на которые я смотрел. Я понятия не имею, о чем они говорят, и опять же, как и раньше, любое найденное мной в Интернете описание было столь же загадочным. Может кто-нибудь объяснить мне макросы? Как они определены и почему они используются так часто (очевидно, насколько я знаю) в ядре Linux.

Любая помощь приветствуется.

1 ответ

Решение

Я заглянул в свой предыдущий вопрос и обнаружил, что мне нужно искать препроцессор C для ответа. Лектор рассказал, что препроцессор расширяет макросы, и я следил за ним. Вот ссылка для всех, кто интересуется значением макросов и т. Д. Препроцессор надеется, что это поможет какой-то другой потерянной душе:)

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