KasperskyOS Community Edition 1.1
Содержание
Содержание
Кросс-компиляторы
Свойства кросс-компиляторов KasperskyOS
Кросс-компиляторы, входящие в состав KasperskyOS Community Edition, поддерживают процессоры с архитектурой aarch64
.
В toolchain в составе KasperskyOS Community Edition входят следующие инструменты для кросс-компиляции:
- GCC:
aarch64-kos-gcc
aarch64-kos-g++
- Binutils:
- Ассемблер AS:
aarch64-kos-as
- Компоновщик LD:
aarch64-kos-ld
- Ассемблер AS:
В GCC, кроме стандартных макросов, определен дополнительный макрос __KOS__=1
. Использование этого макроса упрощает портирование программного кода на KasperskyOS, а также разработку платформонезависимых приложений.
Чтобы просмотреть список стандартных макросов GCC, выполните следующую команду:
echo '' | aarch64-kos-gcc -dM -E -
Особенности работы компоновщика
При выполнении сборки исполняемого файла программы компоновщик по умолчанию связывает следующие библиотеки в указанном порядке:
- libc – стандартная библиотека языка C.
- libm – библиотека, реализующая математические функции стандартной библиотеки языка C.
- libvfs_stubs – библиотека, содержащая заглушки функций ввода/вывода (например,
open
,socket
,read
,write
). - libkos – библиотека для доступа к службам ядра KasperskyOS.
- libenv – библиотека подсистемы настройки окружения программ (переменных окружения, аргументов функции
main
и пользовательских конфигураций). - libsrvtransport-u – библиотека поддержки IPC между процессами и ядром.