• Можно ли совместить в одном проекте программы написанные на разных языках (C++, C#) в VS2012?

    @MarkusD Куратор тега C++
    все время мелю чепуху :)
    https://github.com/FrankStain/tex-conv
    Это пример такого проекта. Многозадачный конвертер текстур.

    На верхнем уровне лежит C# приложение с UI на WinForms, вся работа с пользователем выполнена именно тут.
    К верхнему уровню подключается C++/CLI ядро, представляющее собой библиотеку классов. Это ядро связывает верхний уровень с нижним, который представлен потенциально несчетным набором плагинов.

    Библиотека классов в C# используется как будто это рядовой модуль.

    Конкретно для твоего случая я порекомендую поступить так.
    • Нижний уровень - проект статической библиотеки, в которой будет весь твой C++ код.
    • Средний уровень - C++/CLI библиотека классов, в которую и линкуется нижний уровень, свяжет нижний уровень с верхним через свои классы.
    • Высокий уровень C# приложение, использующее классы среднего уровня.
    Ответ написан
    Комментировать
  • Можно ли совместить в одном проекте программы написанные на разных языках (C++, C#) в VS2012?

    15432
    @15432
    Системный программист ^_^
    Создаете Solution с двумя проектами, C# Windows Forms и C++ Win32 DLL.
    Пишете свой код на C++, делаете dllexport функцию, принимающую, к примеру, void*, куда будут складываться данные.
    В C# классе используете Dllimport, через Marshal.AllocHGlobal аллоцируете память, передаете в вызов C++ функции, она что-то там заполняет, потом достаете через Marshal.Copy и работаете с этим дальше
    Ответ написан
    Комментировать