Мое приложение (которое довольно большое, с исполняемым 20 МБ) написано на неуправляемом C++. Поскольку я могу ясно видеть преимущества использования управляемого кода, я хочу начать вводить управляемый код в своем приложении, но с чего начать?Мое приложение неуправляемое. Где я могу начать вводить управляемый код?
Могу ли я начать использовать C++/CLI и связать его с остальной частью моего приложения? (хотя синтаксис C++/CLI кажется скорее «экзотическим»).
Или лучше перейти на C#, но как лучше всего «связать» это вместе с моим неуправляемым кодом на C++?
Имеет ли смысл скомпилировать весь мой код на C++ с параметром/clr? Будет ли это работать?
Должен ли я беспокоиться о сортировке? Это дает накладные расходы или я могу переключаться между управляемыми и неуправляемыми без штрафа за производительность (как и 20 лет назад при смешивании fortran и C). Производительность действительно важна в моем приложении, поскольку это научное приложение, которое иногда обрабатывает несколько гигабайт памяти.
Или имеет смысл переопределить пользовательский интерфейс и написать его только на C# и сохранить остальную часть моего приложения (логика вычисления, бизнес-логика, интерфейс базы данных, ...) в неуправляемом C++?
Поскольку для моего приложения иногда требуется обработка нескольких гигабайт памяти, у меня есть 64-битный вариант. Легко ли иметь 64-битный управляемый код? Woudl сборщик мусора будет по-прежнему эффективен, если эта память используется?
Просто укажите: с чего начать?
Patrick
Управляемый C++ не является ни рыбой, ни птицей - я бы избегал ее, если это возможно. –