2014-02-10 1 views
0

Как вычислить конкретное значение макроса ядра при построении модуля ядра.конкретное значение макроса в модуле ядра linux build

Существует множество опций макроса, и я хочу знать значение, присвоенное «конкретному макросу» при построении, и номер строки, где он определен.

Я читал об этом совсем недавно ... и я знаю, что это вполне возможно.

для например: делают модули SUBDIRS = драйверы/нетто/e1000/

Теперь в E1000 есть макрос используется, HAVE_VLAN_IN_HW.

при построении модуля, я хочу знать, откуда именно оно (определение макроса и его значение).?

ответ

0

Я должен был гуглом его с лучшими ключевыми словами, как предварительная обработкой продукции:

Здесь вы найдете всю необходимую информацию:

http://kernelnewbies.org/FAQ/KernelCrossCompilation

Еще один аспект компиляции ядра является то, что он помогает вам создавать препроцессор файлы. Это очень полезно, если вы подозреваете, что с вашими макросами может быть что-то неправильное. Через 2,4 дня мы могли получить командную строку и добавить параметр -c и перенаправить результат препроцессора gcc в файл. В версии 2.6 он встроен в ядро. Вот как.

Скажем, я хочу, чтобы генерировать вывод препроцессора для ядра/dma.c, #make ядро ​​/ dma.i

Done. open kernel/dma.i, чтобы узнать, что сделал препроцессор для dma.c

Это доступно также для модуля (не являющегося частью ядра).

0

Большинство из нас используют Linux cross reference для определения функций, макросов и переменных.

+0

Но проблема в том, что существует множество определений для одного и того же макроса, и в зависимости от различных других значений макросов он может отличаться. – kumar

Смежные вопросы