Spec-Zone.ru › Julia 0.5

Динамический линкер

Имена в Base.Libdl не экспортируются и должны вызываться, например, как Libdl.dlopen().

dlopen(libfile::AbstractString[, flags::Integer])

Загрузка общей библиотеки, возвращающая неявную обработку.

Необязательный аргумент флагов — это побитовое ИЛИ одного или нескольких из RTLD_LOCAL, RTLD_GLOBAL, RTLD_LAZY, RTLD_NOW, RTLD_NODELETE, RTLD_NOLOAD, RTLD_DEEPBIND, и RTLD_FIRST. Они преобразуются в соответствующие флаги команды POSIX (и/или GNU libc и/или MacOS) dlopen, если это возможно, или игнорируются, если указанная функциональность недоступна на текущей платформе. Флаги по умолчанию зависят от платформы. В MacOS по умолчанию dlopen флаги RTLD_LAZY|RTLD_DEEPBIND|RTLD_GLOBAL, в то время как на других платформах значения по умолчанию RTLD_LAZY|RTLD_DEEPBIND|RTLD_LOCAL. Важное использование этих флагов — указать поведение, отличное от по умолчанию, при связывании динамического загрузчика библиотек с экспортированными символами и если привязанные ссылки находятся в локальном или глобальном пространстве процесса. Например, RTLD_LAZY|RTLD_DEEPBIND|RTLD_GLOBAL позволяет символам библиотеки быть доступными для использования в других общих библиотеках, что решает ситуации, когда есть зависимости между общими библиотеками.

dlopen_e(libfile::AbstractString[, flags::Integer])

Аналогично dlopen(), за исключением возвращения NULL указателя вместо повышения ошибок.

RTLD_DEEPBIND
RTLD_FIRST
RTLD_GLOBAL
RTLD_LAZY
RTLD_LOCAL
RTLD_NODELETE
RTLD_NOLOAD
RTLD_NOW

Постоянная перечисления для dlopen(). Смотрите страницу руководства вашей платформы для получения подробной информации, если применимо.

dlsym(handle, sym)

Поиск символа из обработанной общей библиотеки, возвращающий указатель на вызываемую функцию при успехе.

dlsym_e(handle, sym)

Поиск символа из обработанной общей библиотеки, молча возвращающий NULL указатель при неудачном поиске.

dlclose(handle)

Закрытие общей библиотеки, на которую ссылается обработка.

dlext

Расширение файла для динамических библиотек (например, dll, dylib, so) на текущей платформе.

find_library(names, locations)

Поиск первой библиотеки в names в пути в списке locations, DL_LOAD_PATH, или системных путях библиотек (в указанном порядке), которые могут быть успешно загружены с помощью dlopen. При успехе возвращаемое значение будет одним из имен (возможно, с префиксом одного из путей в местах). Эта строка может быть назначена global const и использоваться в качестве имени библиотеки в будущих ccall . В случае неудачи возвращается пустая строка.

DL_LOAD_PATH

При вызове dlopen(), пути в этом списке будут сначала просматриваться в порядке, прежде чем искать системные расположения для получения обработчика корректной библиотеки.

© 2009–2016 Jeff Bezanson, Stefan Karpinski, Viral B. Shah, and other contributors
Licensed under the MIT License.
https://docs.julialang.org/en/release-0.5/stdlib/libdl/

Spec-Zone.ru

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