Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Function import_alias

Boost , The Boost C++ Libraries BoostBook Documentation Subset , Reference

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Function import_alias

boost::dll::import_alias

Synopsis

// In header: <boost/dll/import.hpp>

template<typename T> 
  result_type import_alias(const boost::filesystem::path & lib, 
                           const char * name, 
                           load_mode::type mode = load_mode::default_mode);
template<typename T> 
  result_type import_alias(const boost::filesystem::path & lib, 
                           const std::string & name, 
                           load_mode::type mode = load_mode::default_mode);
template<typename T> 
  result_type import_alias(const shared_library & lib, const char * name);
template<typename T> 
  result_type import_alias(const shared_library & lib, 
                           const std::string & name);
template<typename T> 
  result_type import_alias(shared_library && lib, const char * name);
template<typename T> 
  result_type import_alias(shared_library && lib, const std::string & name);

Description

Возвращает позывной объект или усилитель::shared_ptr который содержит символ, импортированный из загруженной библиотеки. Возвращенное значение пересчитывает использование загруженной общей библиотеки, так что она не будет разгружена, пока все копии обратного значения не будут уничтожены.

Этот вызов будет успешным, если вызов boost::dll::shared_library::has(const char*) функции с тем же именем символа вернулся true.

Для импорта символов по non alias используют метод boost::dll::import.

Примеры:

boost::function<int(int)> f = import_alias<int(int)>("test_lib.so", "integer_func_alias_name");
auto f_cpp11 = import_alias<int(int)>("test_lib.so", "integer_func_alias_name");
boost::shared_ptr<int> i = import_alias<int>("test_lib.so", "integer_alias_name");

TemplateпараметрT: Тип символа псевдонима, который мы собираемся импортировать. Должен быть четко указан.

Параметры:

lib

Путь к общей библиотеке или к общей библиотеке для загрузки функции.

режим

Режим, который будет использоваться при загрузке библиотеки.

name

Нулевое C или C++ искалеченное имя функции или переменной для импорта. Может обрабатывать std::string, char*, const char*.

Возврат:

вызывающий объект, если T - тип функции, или усилитель::shared_ptr< T> если T — тип объекта.

Броски:

усиление::system::system_error, если символ не существует или если DLL/DSO не был загружен. Перегрузка, которая принимает путь, также бросает std::bad_alloc в случае недостаточной памяти.

PrevUpHomeNext

Статья Function import_alias раздела The Boost C++ Libraries BoostBook Documentation Subset Reference может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Reference ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 21:25:25/0.0084669589996338/1