Как узнать препроцессоры, определенные в драйвере Linux

Есть ли способ узнать, какие препроцессоры определены в вашем драйвере Linux / коде ядра при сборке? Я мог бы использовать инструмент текстового поиска (я действительно сделал), но я наследую большое дерево кода драйвера / ядра Linux. Он настолько большой, что мой инструмент текстового поиска выдает ошибку, когда я ищу определенный препроцессор во всем дереве кода.

1 ответ

Решение

gcc может вывести все определенные макросы в стандартный вывод в режиме предварительной обработки:

gcc -E -dM foo.c

Это включает в себя любые макросы, предопределенные компилятором, что может немного раздражать. В любом случае вы должны иметь возможность взломать ваш Makefile, чтобы он содержал цель, которая выводит эту информацию в файлы для каждого модуля компиляции.

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