Spec-Zone.ru › OCaml 4.14

Глава 31 Библиотека dynlink: динамическая загрузка и компоновка объектных файлов

Библиотека dynlink поддерживает безопасную динамическую загрузку и компоновку объектных файлов байткода (.cmo и .cma файлы) в работающей программе байткода или нативных плагинов (обычно .cmxs файлы) в работающей нативной программе. Безопасность типов обеспечивается ограничением набора модулей из работающей программы, к которым может получить доступ загруженный объектный файл, и проверкой того, что работающая программа и загруженный объектный файл были скомпилированы с использованием одних и тех же интерфейсов для этих модулей. В нативном коде также есть некоторые проверки совместимости реализаций (чтобы избежать ошибок при кросс-модульных оптимизациях); может быть полезно скрывать файлы .cmx при построении нативных плагинов, чтобы они оставались независимыми от реализации модулей в основной программе.

Программам, использующим библиотеку dynlink, просто необходимо скомпоновать dynlink.cma или dynlink.cmxa со своими объектными файлами и другими библиотеками.

Примечание: для обеспечения доступа динамически загруженных модулей ко всем библиотекам, видимым для основной программы (а не только к частям этих библиотек, которые фактически используются в основной программе), программы, использующие библиотеку dynlink, должны быть скомпонованы с -linkall.

  • Модуль Dynlink: динамическая загрузка объектных файлов байткода

© 1995-2022 INRIA.
https://v2.ocaml.org/releases/4.14/htmlman/libdynlink.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API