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.
  • Вопрос задан
  • 316 просмотров
Решения вопроса 1
bingo347
@bingo347
Crazy on performance...
Скорее всего придётся сделать extern C обёртку над библиотекой и биндится уже с ней. Ну и надо понимать, что никакие абстракции плюсов вроде темплейтов, классов и т.д. в раст не протащить.

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

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

Похожие вопросы