Свойства кросс-компиляторов KasperskyOS
Кросс-компиляторы, входящие в состав KasperskyOS Community Edition, поддерживают процессоры с архитектурой arm
.
В toolchain в составе KasperskyOS Community Edition входят следующие инструменты для кросс-компиляции:
arm-kos-gcc
arm-kos-g++
arm-kos-as
arm-kos-ld
В GCC, кроме стандартных макросов, определен дополнительный макрос __KOS__=1
. Использование этого макроса упрощает портирование программного кода на KasperskyOS, а также разработку платформонезависимых приложений.
Чтобы просмотреть список стандартных макросов GCC, выполните следующую команду:
echo '' | arm-kos-gcc -dM -E -
Особенности работы компоновщика
При выполнении сборки исполняемого файла программы компоновщик по умолчанию связывает следующие библиотеки в указанном порядке:
open
, socket
, read
, write
).coresrv
, например: #include <coresrv/vmm/vmm_api.h>
. Вторая часть библиотеки libkos является оберткой над первой частью и содержит дополнительные функции синхронизации: mutex
, semaphore
, event
. Взаимодействие других библиотек (включая libc) с ядром происходит через библиотеку libkos.main
и пользовательских конфигураций).