【问题标题】:How to pass an array from a c++ library to c#如何将数组从 c++ 库传递到 c#
【发布时间】:2014-01-30 18:15:59
【问题描述】:

我正在为 Unity3d 的this c++ 物理库编写一个插件。该库是添加了粒子模拟的 Box2D 的超集。 在 c++ 库中,有一个函数可以返回所有粒子的 2d 矢量对象数组。 我想知道如何将其传递回 Unity 以便绘制它们?我无法在库和 Unity 之间传递对象。我可以传递一个二维浮点数组吗?听说我应该在c#中在Unity中实例化一个大小正确的数组,然后传给c++函数,里面所有的数据都会被填充,然后传回Unity(这是为了避免c++中的内存问题)你会如何用 C++ 写这个? 或者我可以使用 out 参数来执行此操作吗?你会怎么写呢?

【问题讨论】:

标签: c# c++ arrays plugins unity3d


【解决方案1】:

您可以在 C# 代码中将该方法声明为返回 IntPtr,然后将其转换为您需要的数组(您在 C++ 代码中拥有的对象的托管版本的数组)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-17
    • 2013-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-31
    相关资源
    最近更新 更多