Я писал об этом только недавно. Речь шла о Delphi, но это не значит, что он не будет работать и с C ++.
.NET компонент в DELPHI 2009
Даже не зная много о C ++, я все же знаю, что IUnknown и COM-совместимые ссылки на интерфейсы должны прекрасно работать с C ++ (в случае, если вам нужно передавать объекты, а не только структуры).
- Вы можете использовать Microsoft C ++ / CLI для ссылки на ваш код C # и экспортировать его как обычные функции DLL.
- Вы также можете загрузить задачу MSBuild , которую я написал, которая позволяет экспортировать функции непосредственно из C #. Аналогично тому, как используется атрибут DllImportAttribute.
Этот код на C # экспортирует функцию «YourExportName», которую можно использовать так же, как и любую другую c-совместимую функцию.
class Sample
{
[DllExport("YourExportName")]
static int TestFunction(int left, int right)
{
return left + right;
}
}