我有C#dll,它有一个功能
public static Int32[] remDup(Int32[] dArray){
return dArray.Distinct().toArray();
}
我有这个
的jni功能JNIEXPORT remDup..... ( jintArray dupArray){
// from java call i get dupArray
CsharpDLL::CSharpClass::remDup(/*pass an int32 array */)
}
我有java函数,使用jni
调用函数 remDup (Int[] array)
我使用C ++包装器从Java调用C#DLL ...我已经花了一半的时间来找到将jIntArray传递给C#dll函数...但没有成功..完整的R& D和我一样多可以.. ..
差异技术
即array<System::Int32^)^ array, Marshal techniques
但仍无法将数组从C ++(JintArray)传递给C#DLL .. plz帮助或指南
答案 0 :(得分:1)
解决方案是创建一个大小为jintArray的新cli :: array,然后使用for将所有元素设置为新数组并将其传递给c#函数。