Заголовок PCI в моем ноутбуке отличается от заголовка PCI свободных электронов

[1188974].
2
31.07.2014, 21:31
1 ответ

Заголовок свободных электронов является внутренним для исходного кода ядра, и вы найдете его, если заглянете в [src] / include / linux ; если вы компилируете код ядра, это должно быть в игре.

Заголовок, который вы вставили, является системным заголовком из / usr / include / linux . Это для пользовательского кода , которому требуется доступ к определенным в нем константам и макросам.

На самом деле они не конфликтуют. Обратите внимание на верхнюю часть более длинного внутреннего пути ядра:

#include <uapi/linux/pci.h>

Этот путь не существует в обычных системных каталогах include, но он существует в [src] / include , и если вы проверите там вы заметите, что этот файл почти идентичен /usr/include/linux/pci.h вашей системы. Вот как код ядра может получить доступ к одним и тем же значениям, а также ко всему, что ему нужно внутри, поскольку обычный linux / pci.h будет заменен чем-то вроде -I [src] / include , но код ядра, содержащий #include , будет загружать [src] /include/linux/pci.h , который втягивает [ src] /include/uapi/pci.h , который идентичен /usr/include/linux/pci.h .

1
27.01.2020, 22:22

Теги

Похожие вопросы