gpt4 book ai didi

c# - 将数组从 C# 传递到 C++ 的问题

转载 作者:太空狗 更新时间:2023-10-29 21:08:49 25 4
gpt4 key购买 nike

我有一个应用程序,我需要在其中将数组从 C# 传递到 C++ DLL。最好的方法是什么?我在 Internet 上进行了一些搜索,发现我需要使用 ref 从 C# 传递数组。相同的代码:

status = IterateCL(ref input, ref output);

输入输出数组长度为20,对应的C++ DLL代码为

IterateCL(int *&inArray, int *&outArray)

这一次效果很好。但是,如果我第二次尝试在循环中调用 C# 中的函数,C# 中的输入数组将显示为一个元素的数组。为什么会这样,请帮助我如何从 C# 中迭代​​调用此函数。

谢谢,拉克什。

最佳答案

你需要使用:

[DllImport("your_dll")]
public extern void IterateCL([In, MarshalAs(UnmanagedType.LPArray)] int[] arr1, [Out, MarshalAs(UnmanagedType.LPArray)] int[] arr2);

关于c# - 将数组从 C# 传递到 C++ 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2406972/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com