Как узнать препроцессоры, определенные в драйвере Linux
Есть ли способ узнать, какие препроцессоры определены в вашем драйвере Linux / коде ядра при сборке? Я мог бы использовать инструмент текстового поиска (я действительно сделал), но я наследую большое дерево кода драйвера / ядра Linux. Он настолько большой, что мой инструмент текстового поиска выдает ошибку, когда я ищу определенный препроцессор во всем дереве кода.
1 ответ
Решение
gcc может вывести все определенные макросы в стандартный вывод в режиме предварительной обработки:
gcc -E -dM foo.c
Это включает в себя любые макросы, предопределенные компилятором, что может немного раздражать. В любом случае вы должны иметь возможность взломать ваш Makefile, чтобы он содержал цель, которая выводит эту информацию в файлы для каждого модуля компиляции.