1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-iceoryx

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
custom-iceoryx-platform.md 4.4 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 30.11.2024 01:51 01c7879

Пользовательские платформы iceoryx

iceoryx_platform представляет собой самый нижний уровень в iceoryx. Его задача — установить единообразное поведение низкоуровневых системных вызовов на всех поддерживаемых платформах. Если вы хотите добавить поддержку другой платформы, можно использовать аргумент CMake -DIOX_PLATFORM_PATH, чтобы указать путь к пользовательской реализации платформы.

Это может потребоваться для поддержки неподдерживаемого компилятора для конкретной платформы, адаптации системных вызовов для соответствия стандарту POSIX или добавления новой операционной системы.

Сборка с пользовательской платформой iceoryx

Предположим, ваша платформа хранится по абсолютному пути /home/user/newIceoryxPlatform. Вы можете настроить cmake с помощью команды:

cd iceoryx
cmake -Bbuild -Hiceoryx_meta -DIOX_PLATFORM_PATH=/home/user/newIceoryxPlatform

и собрать iceoryx как обычно.

Структура пользовательской платформы iceoryx

  • newIceoryxPlatform — корневая папка
    • include/iceoryx_platform/ — каталог, в котором должны храниться все заголовки
      • должен содержать все заголовки, которые вы можете найти в iceoryx_platform/linux/include/iceoryx_platform.
      • заголовки должны объявлять те же функции.
      • каждый заголовок должен предоставлять (необязательно действительную) реализацию для всех объявленных функций. Если определённые функции не реализованы, можно определить неработающую функцию, выполнив модули hoofs и posh и интеграционные тесты.
    • source/ — каталог, где должна храниться реализация.
    • cmake/IceoryxPlatformDeployment.cmake — файл, который содержит параметры компиляции платформы во время выполнения.
      • IOX_PLATFORM_TEMP_DIR — путь к временному каталогу.
      • IOX_PLATFORM_LOCK_FILE_PATH_PREFIX — путь к каталогу, который будет заполнен файлами блокировки.
      • IOX_PLATFORM_UDS_SOCKET_PATH_PREFIX — путь к каталогу, который будет заполнен файлами сокетов UDS.
    • cmake/platform_settings.hpp.in — файл, используемый в качестве шаблона для создания platform_settings.hpp.
      • содержит значения, определённые в cmake/IceoryxPlatformDeployment.cmake.
      • содержит дополнительные константы, не представленные как параметр компиляции.
    • cmake/IceoryxPlatformSettings.cmake — файл, содержащий конфигурацию компиляции платформы.
      • ICEORYX_CXX_STANDARD — должно быть не менее 17.
      • ICEORYX_PLATFORM_STRING — название платформы.
      • ICEORYX_C_WARNINGS — [необязательно] список флагов для включения предупреждений компилятора C.
      • ICEORYX_CXX_WARNINGS — [необязательно] список флагов для включения предупреждений компилятора C++.
      • файл также может содержать ограничения платформы, например, он может завершиться ошибкой, если выбран компилятор, который платформа не поддерживает.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/mirrors-iceoryx.git
git@api.gitlife.ru:oschina-mirror/mirrors-iceoryx.git
oschina-mirror
mirrors-iceoryx
mirrors-iceoryx
main