C#调用C++编写的dll时遇到的声明问题
假设C/C++中有这样一个函数:
int num(int add,long start,int n,float *val,int *mark),val和mark‘代表数组,
我在C#中声明如下:
[DllImport("xxx.dll"),EntryPoint="num"]
static extern int num(int add,int ch,int n,float[] A,int[] B),大家看这样正确吗?多谢!
------最佳解决方案--------------------[DllImport("xxx.dll"),EntryPoint="num"]
static extern int num(int add,int ch,int n,[In,Out]float[] A,[In,Out]int[] B)
In 还是Out 根据需要
------其他解决方案--------------------你去看下PINVOKE的知识,关于数组。结构体如何传递值以及使用方法都有介绍
------其他解决方案--------------------现在很急,希望大家多多帮忙啊!!!
------其他解决方案--------------------static extern int num(int add,int ch,int n,ref float A,ref int B);
------其他解决方案--------------------如果声明static extern int num(int add,int ch,int n,ref float A,ref int B);
那么我在C#中怎么调用这个函数?
------其他解决方案--------------------
如果这样声明的话,我在C#中怎么调用这个函数啊?
------其他解决方案--------------------数组前加ref
------其他解决方案--------------------本贴可以结束啦,使用我写的声明经验证是正确的,多谢大家!!