mirror of
https://github.com/Linux4Yourself/book.git
synced 2025-01-24 23:32:18 +08:00
66 lines
3.5 KiB
Markdown
66 lines
3.5 KiB
Markdown
# Заголовочные файлы ядра Linux v.{{ package.version }}
|
||
|
||
Ссылка для скачивания: <a :href="package.url"><b>{{ package.url }}</b></a>
|
||
<br />
|
||
Текущая версия: <b>{{ package.version }}</b>
|
||
<br />
|
||
Домашняя страница: <a :href="package.homeUrl"><b>{{ package.homeUrl }}</b></a>
|
||
<br />
|
||
Важность: <b>Необходимый</b>
|
||
<br />
|
||
Размер архива: <b>{{ package.size }} Mb</b>
|
||
|
||
<script>
|
||
new Vue({
|
||
el: '#main',
|
||
data: { package: {} },
|
||
mounted: function () {
|
||
this.getPackage('linux');
|
||
},
|
||
methods: {
|
||
getPackage: function(name) {
|
||
getPackage(name)
|
||
.then(response => this.package = response);
|
||
}
|
||
}
|
||
})
|
||
</script>
|
||
|
||
Файлы заголовков определяют способ определения функций в исходном файле. Они используются таким образом, чтобы компилятор мог проверить правильность использования функции в качестве сигнатуры функции (возвращаемое значение и параметры) в файле заголовка. Для этой задачи фактическая реализация функции не требуется.
|
||
|
||
Когда вы компилируете драйвер устройства как модуль ядра, вам необходимы установленные заголовочные файлы ядра. Также они требуются, если вы собираете пользовательское приложение, которое взаимодействует напрямую с ядром.
|
||
|
||
!> Версия заголовочных файлов должна соответствовать версии устанавливаемого ядра.
|
||
|
||
## Сборка
|
||
|
||
?> **Данный пакет является частью архива с ядром Linux**.
|
||
|
||
Убедитесь, что в архив не включены файлы которые могут помешать сборке.
|
||
|
||
```bash
|
||
make mrproper
|
||
```
|
||
|
||
Эта команда выполнит очистку дерева исходных текстов. Разработчики ядра рекомендуют, чтобы эта команда выполнялась перед каждым процессом компиляции.
|
||
|
||
### Подготовьте заголовки для использования:
|
||
|
||
```bash
|
||
make headers
|
||
```
|
||
|
||
## Установка
|
||
|
||
```bash
|
||
find usr/include -name '.*' -delete
|
||
rm usr/include/Makefile
|
||
cp -rv usr/include $LIN/usr
|
||
```
|
||
|
||
!> Заголовочные файлы, расположенные в системном каталоге `/usr/include`, должны всегда быть те, которые использовались при компиляции [Glibc](build-system/glibc). Их никогда не следует заменять на чистые заголовочные файлы ядра или любые другие подготовленные заголовочные файлы.
|
||
|
||
### Установленные файлы
|
||
|
||
Данный пакет устанавливает множество заголовочных файлов, в частности ` /usr/include/asm/*.h, /usr/include/asm-generic/*.h, /usr/include/drm/*.h, /usr/include/linux/*.h, /usr/include/misc/*.h, /usr/include/mtd/*.h, /usr/include/rdma/*.h, /usr/include/scsi/*.h, /usr/include/sound/*.h, /usr/include/video/*.h, and /usr/include/xen/*.h`
|