Возможный дубликат:
Можно ли вызвать код C ++ из C #?
Много лет назад я развивался в C ++, используя Visual Studio 6.
В настоящее время я должен написать простое консольное приложение, чтобы вызвать некоторую функцию dll, написанную на c ++.
Обратите внимание, что ни одна из этих функций не доступна в мире .NET, поэтому я не могу написать никакой перенос, вместо этого мне просто нужно кое-что вспомнить о c ++.
Первое, что мне пришло в голову, это как вызвать (в .net, ссылаясь) на родную dll. Это достигается просто с помощью инструкции «использование ddlFilePath»?
Наконец, что не менее важно, чем существенно отличаются консольное приложение C ++, созданное с помощью Visual Studio 6, и консольное приложение C ++, созданное с помощью Visual Studio 2010?
Пожалуйста, посмотрите на этот похожий вопрос:
Использование .dll в Visual Studio 2010 C ++
Первый ответ очень хорошо написан (я думаю)
Существенным отличием между программами на C ++, написанными на Visual Studio 6, и программами, написанными на Visual Studio 2010, является улучшение и изменение синтаксиса в языке C ++. Язык должен быть обратно совместимым, поэтому программы, написанные в Visual Studio 6, должны компилироваться в Visual Studio 10 (но не иначе!)
Чтобы использовать не-COM DLL в .NET, вы должны использовать Платформа Invoke.