Вызов C # из родного C ++, без / clr или COM? - PullRequest
7 голосов
/ 22 августа 2009

Этот вопрос уже задавался, но я так и не нашел действительно удовлетворительного решения -

У меня есть библиотека классов, написанная на C #, и я хочу вызвать ее из устаревшего нативного приложения C ++. Хост-приложение действительно родное, скомпилированное в Windows & Linux, это консольное приложение. Итак, как мне сделать так, чтобы она вызывала библиотеку классов C #, предполагая использование Microsoft .NET в Windows и Mono в Linux.

Я рассмотрел SWIG и оболочку с интерфейсами COM в Windows, но есть ли стандартное признанное решение, которое работает кроссплатформенно? т. е. это универсально, работает как с Microsoft .NET, так и с Mono, реализация для однократного использования везде.

Решения должны предоставлять полные интерфейсы класса из домена C # в домен C ++.

Подобные вопросы касаются только решений Windows, например -

Вызов методов C # из C ++ без использования COM

1 Ответ

5 голосов
/ 22 августа 2009

Если вы хотите использовать эту кроссплатформенность, я бы рекомендовал использовать 100% моно подход.

Mono имеет чистый API для встраивания , который работает в Linux и Windows.

...