C ++ взаимодействие с другими языками - PullRequest
4 голосов
/ 02 января 2012

Есть ли общий подход к написанию API приложений C ++ таким образом, чтобы упростить взаимодействие с другими языками?Может быть, что-то вроде использования языка описания интерфейса более высокого уровня для генерации интерфейса C ++ вместе с маршаллинг-кодом для других платформ (.NET, python, ...)?

Ответы [ 3 ]

2 голосов
/ 02 января 2012

Существует несколько вариантов.

Если вы хотите взаимодействовать с .net, вы можете написать C ++ / CLI классы-оболочки.Они позволяют вам писать классы C ++, которые непосредственно видны из .net, и в их реализации можно использовать ваш собственный C ++.

Исторически, COM также использовался для этой цели, но этоменее популярны в настоящее время.

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

Редактировать: Похоже, это такбудет проще на Windows 8 с WinRT компонентов

1 голос
/ 02 января 2012

SOAP / WebServices / Corba?

Хотя кажется, что вы думали о более жестком (то есть, аналогичном компоновщике) соединении, чем это.

0 голосов
/ 02 января 2012

Другая возможность может заключаться в том, чтобы extern "C" сделать весь ваш публичный API (даже если его реализация на C ++).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...