Используйте C++ API в C# Project

Можно ли использовать C++ API (серии файлов заголовков и файлов CPP) в проекте C#?

Возможно, возможно скомпилировать эти файлы в .obj или же .lib файлы и включить их в проект Visual C#? Нечто подобное сделано для Crypto++,

Если это возможно, есть ли какие-либо недостатки от этого?

Контекст и информация импорта:

  • C++ API называется NWCreate и разработан Autodesk Navisworks.
  • Я использую Microsoft Visual Studio C# 2010
  • У нас есть большая база кода в C#, где большая часть операций, которые мы будем выполнять в плагине navisworks, уже написана на C# (из других проектов Autodesk, которые мы создали). Таким образом, необходимость переписывать все эти операции в C++ очень изобретает колесо.

1 ответ

По крайней мере, у вас есть 2 метода для вызова C/C++ API из.NET:

  • Скомпилируйте API C / C++ как dll, затем используйте PInvoke для вызова из.NET
  • Используйте Managed C++ (VC++), затем используйте IJW для переноса нативного кода, IJW будет генерировать управляемый код, который можно вызывать напрямую из.NET
Другие вопросы по тегам