Задать вопрос
@DarkByte2015

Как портировать библиотеку на другие языки?

Вопрос не об экспорте функций в библиотеку, а скорее об используемых классах. Я знаю как экспортировать код на чистом Си, но вот как быть с плюсовым не знаю. Например те же строки std::string едва ли скастятся в том же например C# к строкам System.String. Удобно кастить базовые типы, а вот с классами не знаю как быть. Да и свои классы тоже не знаю как экспортировать.
  • Вопрос задан
  • 273 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 1
Rou1997
@Rou1997
Например те же строки std::string едва ли скастятся в том же например C# к строкам System.String
Но ведь к ним же приводятся типы char* или wchar_t*, поэтому без проблем.

Да и свои классы тоже не знаю как экспортировать.

Если только Windows, то для этого есть COM/OLE/Active-X, а если для UNIX, то никаких классов не надо экспортировать, только функции, вообще не ясны цели, на какой ОС, для каких языков, такое впечатление что у вас и задачи реальной нет, только абстрактные фантазии об "идеальной библиотеке в вакууме".
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
tsarevfs
@tsarevfs Куратор тега C++
C++ developer
Первый вариант написать Си интерфейс для работы с библиотекой. Будет работать со многими языками.
Если нужно использовать С++ из конкретного языка, то можно использовать специальные инструменты. Например для связи плюсов и python есть boost python. Он позволяет делать много интересных вещей, например работать с С++ объектами из python.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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