KasperskyOS Community Edition 1.2
Содержание
Содержание
Кросс-компиляторы
В тулчейн из состава KasperskyOS SDK входит один или несколько компиляторов GCC. В директории toolchain/bin
находятся следующие файлы:
- исполняемые файлы компиляторов (например,
x86_64-pc-kos-gcc
,arm-kos-g++
); - исполняемые файлы компоновщиков (например,
x86_64-pc-kos-ld
,arm-kos-ld
); - исполняемые файлы ассемблеров (например,
x86_64-pc-kos-as
,arm-kos-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 между процессами и ядром.