Два способа:
C ++ / CLI:
C ++ / CLI - это один метод, который делает вещи взаимозаменяемыми. Классы, которые вы создаете для CLI в C ++ / CLI, не совсем обычные старые классы C ++, но вы можете соединить классы C ++ с помощью шаблонов адаптера (следите за этими исключениями SEHException!)
P / Invoke:
Если вы хотите разрабатывать с использованием базовых собственных библиотек C / C ++, вы можете получить доступ к любому стандартному экспорту C из CLR, используя P / Invoke , и вы можете Marshall свои объекты вручную, если вы объявите их прямо с обеих сторон. Обратитесь к руководству " Взаимодействие с собственными библиотеками " для получения дополнительной информации, которую вы когда-либо захотите узнать.
Я не могу это подчеркнуть достаточно. Следите за своими исключениями! Не позволяйте им уходить из вашего кода CLI в ваш собственный код или из вашего собственного кода в их код CLI.