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

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

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

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

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

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

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

Заранее благодарим вас за любые предложения и подсказки! определить излучатель сигнала? Я надеюсь, что есть способ, потому что он позволит писать более общий код ...

Я разрабатываю приложение на PyQt, мне нравится модель сигнального слота, но есть ли способ определить излучатель сигнала? Я надеюсь, что есть способ, потому что он позволит писать более общий код без определения множества слотов для каждого похожего сигнала.

5
задан eyllanesc 4 July 2019 в 11:25
поделиться