C ++: самый мощный язык для программирования на .NET Framework
Я собирался приблизиться к проекту, который должен был упорядочить структурированные данные через границу C ++ / C #, но я нашел, что может быть лучше (особенно если вы знаете C ++ и любите изучать новые языки программирования). Если у вас есть доступ к Visual Studio 2005 или выше, вы можете использовать C ++ / CLI, а не маршалинг. По сути, это позволяет вам создать эту волшебную гибридную библиотеку классов .NET / native, которая на 100% совместима с C # (как если бы вы написали все на C # для использования в другом проекте C #), которая также на 100% совместима с C и / или C ++. В вашем случае вы могли бы написать оболочку C ++ / CLI, которая перенаправляла данные из C ++ в памяти в CLI в типах памяти.
Мне очень повезло с этим, я использовал чистый код C ++ для чтения и записи файлов данных (это может быть даже какая-то сторонняя библиотека), а затем мой код C ++ / CLI конвертирует (копирует) Данные C ++ попадают в типы .NET в памяти, которые можно использовать напрямую, как если бы я написал библиотеку чтения / записи в C #. Для меня единственным препятствием был синтаксис, так как вы должны изучить расширения CLI для C ++. Хотелось бы, чтобы у меня был StackOverflow, чтобы задавать вопросы о синтаксисе, еще когда я изучал это!
В обмен на перебор синтаксиса вы изучаете, вероятно, самый мощный язык программирования, который только можно себе представить. Подумайте об этом: элегантность и здравомыслие библиотек C # и .NET, а также низкий уровень совместимости и нативной библиотеки C ++. Вы не захотите писать все свои проекты на C ++ / CLI, но это отлично подходит для передачи данных C ++ в проекты C # / .NET. Это "просто работает".
Учебник