Как передать массив из библиотеки c ++ в c #

0

Я пишу плагин для этой c++ библиотеки физики для Unity3d. Библиотека представляет собой надмножество Box2D с добавлением моделирования частиц. В библиотеке c++ есть функция, которая возвращает массив из двух векторных объектов для всех частиц. Мне интересно, как я могу передать это обратно в Unity, чтобы рисовать их? Я не могу передать объекты между библиотекой и Unity. Могу ли я передать 2d массив поплавков? Я слышал, что я должен создать массив правильного размера в Unity в С#, а затем передать его функции c++, где будут заполнены все данные, а затем передать их обратно в Unity (это поможет избежать проблем с памятью в c++) Как вы напишете это в c++? Или я могу использовать out paramater для этого? И как бы вы это написали?

  • 1
    может эта две ссылки помогут вам .its msdn угловой ссылкой является social.msdn.microsoft.com/Forums/en-US/…
  • 1
    C ++ to C # используют семейство функций CoTaskMemAlloc на стороне C ++. Вы можете найти информацию об этом на msdn.microsoft.com/en-us/library/ms692727
Теги:
arrays
unity3d
plugins

1 ответ

1
Лучший ответ

Вы можете объявить метод в коде С# как возвращающий IntPtr а затем преобразовать его в необходимый вам массив (массив управляемой версии объектов, которые у вас есть в коде C++).

Ещё вопросы

Сообщество Overcoder
Наверх
Меню