mrjbom
@mrjbom

Вызов функций С++ из .h?

Есть библиотека написанная на C++, она состоит из набора .h файлов. Мне нужно иметь возможность вызывать их из Rust. Что я должен сделать для этого?
Как я понимаю, мне сначала нужно как-то скомпилировать весь C++ код библиотеки в .lib файл, а затем с помощью bindgen создать привязку к основному заголовочному файлу библиотеки, так?
Вся библиотека предположим состоит из трёх файлов: cool_lib.h - основной файл который должен включаться для использования библиотеки, cool_lib_iternals.h и cool_lib_other.h - включаются в cool_lib.h, используются как библиотекой для её нужд так и пользователем библиотеки.

Какие конкретные шаги стоит сделать для того, что-бы это заработало в Rust? На Windows.
  • Вопрос задан
  • 296 просмотров
Решения вопроса 1
bingo347
@bingo347
Crazy on performance...
Скорее всего придётся сделать extern C обёртку над библиотекой и биндится уже с ней. Ну и надо понимать, что никакие абстракции плюсов вроде темплейтов, классов и т.д. в раст не протащить.

В какой-то степени может помочь cxx, но надо понимать, что эта штука тоже не всесильна.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы