Кросс-компиляторы
Кросс-компиляторы
В тулчейн из состава 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 между процессами и ядром.
Вам помогла эта статья?
Что нам нужно улучшить?
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!