По умолчанию открытый режим. См.Дефолт:комментарии ниже, чтобы узнать флаги, которые включены по умолчанию.
dont_resolve_dll_references
Платформы:Windows
Дефолт:отключен
Если используется это значение, а исполняемый модуль является DLL, система не вызывает DllMain для инициализации и завершения процесса и потока. Также система не загружает дополнительные исполняемые модули, на которые ссылается указанный модуль.
Примечание Не используйте это значение, оно предоставляется только для обратной совместимости. Если вы планируете получить доступ только к данным или ресурсам в DLL, используйте LOAD_LIBRARY_AS_DATAFILE_EXCLUSIVE или LOAD_LIBRARY_AS_IMAGE_RESOURCE Или оба.
load_ignore_code_authz_level
Платформы:Windows
Дефолт:отключен
Если используется это значение, система не проверяет правила AppLocker или не применяет политики ограничения программного обеспечения для DLL.
load_with_altered_search_path
Платформы:Windows
Дефолт:отключен
Если используется это значение и lpFileName указывает абсолютный путь, система использует альтернативную стратегию поиска файлов.
Это значение не может быть объединено с любым флагом LOAD_LIBRARY_SEARCH.
rtld_lazy
Платформы:POSIX
Дефолт:включен
Переезды должны выполняться в определенное для осуществления время, начиная с момента вызова dlopen() до момента первой ссылки на данный символ.
Определение RTLD_LAZY должно улучшить производительность реализаций, поддерживающих динамическое связывание символов, поскольку процесс не может ссылаться на все функции в любом заданном объекте. И для систем, поддерживающих динамическое разрешение символов для нормального выполнения процесса, это поведение имитирует нормальную обработку выполнения процесса.
rtld_now
Платформы:POSIX
Дефолт:отключен
Все необходимые перемещения должны выполняться при первой загрузке объекта. Это может привести к потере некоторой обработки, если перемещение выполняется для функций, на которые никогда не ссылаются. Это поведение может быть полезно для плагинов, которые должны знать, как только объект загружается, что все символы, на которые ссылаются во время выполнения, доступны.
rtld_global
Платформы:POSIX
Дефолт:отключен
Символы объекта должны быть доступны для обработки перемещения любого другого объекта. Кроме того, поиск символов с использованием dlopen(0, mode) и связанного с ним dlsym() позволяет искать объекты, загруженные этим режимом.
rtld_local
Платформы:POSIX
Дефолт:включен
Символы объекта не должны быть доступны для обработки перемещения любого другого объекта.
Это поведение Windows по умолчанию, которое не может быть изменено.
rtld_deepbind
Платформы:POSIX (требуется glibc >= 2.3.4)
Дефолт:отключен
Объект будет использовать собственные символы вместо глобальных символов с тем же названием, содержащихся в уже загруженных библиотеках. Этот флаг не указан в POSIX.1-2001.
append_decorations
Платформы:Windows, POSIX
Дефолт:отключен
Добавьте специальное расширение и префикс платформы к общему имени файла библиотеки, прежде чем пытаться загрузить его. Если попытка загрузки не удалась, попробуйте загрузить с точно указанным именем.
Пример:
// Opens `./my_plugins/plugin1.dll` on Windows, `./my_plugins/libplugin1.so` on Linux, `./my_plugins/libplugin1.dylib` on MacOS.// If that fails, loads `./my_plugins/plugin1`boost::dll::shared_librarylib("./my_plugins/plugin1",load_mode::append_decorations);
search_system_folders
Платформы:Windows, POSIX
Дефолт:отключен
Разрешить загрузку из системных папок, если путь к библиотеке не содержит родительского пути.
Статья Type type раздела The Boost C++ Libraries BoostBook Documentation Subset Reference может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.