首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

c# 调用c++ dll 返回值替数组指针

2012-10-10 
c# 调用c++ dll 返回值为数组指针如果c++dll的函数返回值为 数组指针,c#这边我需要怎么定义函数,怎么接收

c# 调用c++ dll 返回值为数组指针
如果c++dll的函数返回值为 数组指针,c#这边我需要怎么定义函数,怎么接收呢?
c++:_declspec (dllexport) float* WINAPI shuju(float pv1[],float pv2[],float pv3[],float pv4[])

[解决办法]

C# code
[DllImport("sqlite3.dll", EntryPoint = "sqlite3_open",CallingConvention=CallingConvention.Cdecl)]public static extern IntPtr shuju(float[] pv1,float[] pv2,float[] pv3,float[] pv4);
[解决办法]
先试试2楼的办法吧。
[解决办法]
"这个方法我试过,但是 InPre inpre=shuju(a,b,c,d);
console.write(inpre);
好像得出的是八位的地址,我该怎么得出我想要的数值呢?"

使用这个:Marshal.Copy 方法 (IntPtr, Single[], Int32, Int32)
将数据从非托管内存指针复制到托管单精度浮点数组。 

public static void Copy (
IntPtr source,
float[] destination,
int startIndex,
int length
)

热点排行