Обертывание неуправляемого C ++ с C ++ / CLI - правильный подход

как указано в заголовке, я хочу, чтобы моя старая библиотека C ++ работала в управляемой .NET. Я думаю о двух возможностях:

1) Я мог бы попытаться скомпилировать библиотеку с помощью / clr и попробовать подход «Это просто работает».

2) Я мог бы написать управляемую оболочку для неуправляемой библиотеки.

Прежде всего, я хочу, чтобы моя библиотека работала БЫСТРО, как это было в неуправляемой среде. Таким образом, я не уверен, не вызовет ли первый подход большого снижения производительности. Однако кажется, что это быстрее реализовать (неправильное слово :-)) (при условии, что это сработает для меня).

С другой стороны, я думаю о некоторых проблемах, которые могут возникнуть при написании оболочки (например, как обернуть некоторую коллекцию STL (например, вектор )?). Я думаю о написании оболочки, находящейся в тот же проект, что и неуправляемый C ++ - это разумный подход (например, MyUnmanagedClass и MyManagedClass в том же проекте, второй является оболочкой другого)?

Что бы вы предложили в что проблема? Какое решение улучшит производительность результирующего кода?

Заранее благодарим вас за любые предложения и подсказки!

Ура

8
задан Jamie 10 January 2011 в 00:25
поделиться