Spec-Zone.ru › OCaml
☰Библиотека OCaml
  • Основная библиотека
  • Стандартная библиотека
  • Интерфейсный модуль компилятора
  • Библиотека unix: системные вызовы Unix
  • Библиотека str: регулярные выражения и обработка строк
  • Библиотека runtime_events
  • Библиотека threads
  • Библиотека dynlink: динамическая загрузка и связывание объектных файлов
  • Недавно удалённые или перенесённые библиотеки (Graphics, Bigarray, Num, LablTk)

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

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

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

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

  • Модуль Dynlink: динамическая загрузка объектных файлов байт-кода
« Библиотека threadsНедавно удалённые или перенесённые библиотеки (Graphics, Bigarray, Num, LablTk) »
Copyright © 2026 Institut National de Recherche en Informatique et en Automatique

© 1995-2026 INRIA.
https://ocaml.org/manual/5.5/libdynlink.html

Spec-Zone.ru

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