Принять в стандарт RAII класс для работы с динамическими библиотекми

yndx-antoshkka
yndx-antoshkka

Предлагаю стандартизировать Boost.DLL, чтобы можно было с лёгкостью делать плагины и импортировать функции по мере необходимости из динамических библиотек:

auto cpp11_func = dll::import<int(std::string&&)>(
    "libmy.so", "i_am_a_cpp11_function"
);

cpp11_func("'Hello word' that is sent to shared library");

Предложение уже доступно по адресу: p0275r0

Приветствуются любые предложения по улучшению proposal или Boost.DLL!

27
рейтинг
3 комментария
Anatoly Scheglov
Динамический импорт функций по имени - это костыль. Не надо стандартизировать костыли.
Для сравнительно безопасных плагинов нужна стандартизация ABI (в т.ч. манглинга).
Anatoly Scheglov
yndx-antoshkka
Распишите пожалуйста подробнее ваше решение. Что именно вы предлагаете вместо подхода Boost.DLL?
yndx-antoshkka
yndx-antoshkka
Обновлённая версия предложения: open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0275r1.html
yndx-antoshkka
Другие идеи
Группа создана, чтобы собирать предложения к стандарту C++, организовывать их внутренние обсуждения, помогать готовить их для отправки в комитет и защищать на общих собраниях в рабочей группе по С++ Международной организации по стандартизации (ISO).