读书人

C#调用C++编写的dll时遇到的声明有关问

发布时间: 2012-12-15 15:16:03 作者: rapoo

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# code
?



1

static extern int num(int add,int ch,int n,ref float A,ref int B);

如果这样声明的话,我在C#中怎么调用这个函数啊?
[其他解释]
数组前加ref
[其他解释]
本贴可以结束啦,使用我写的声明经验证是正确的,多谢大家!!

读书人网 >C#

热点推荐