标题:C#在调用c++DLL的时候如何使用intptr?
只看楼主
tonanks
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-1-26
结帖率:100%
已结贴  问题点数:20 回复次数:2 
C#在调用c++DLL的时候如何使用intptr?
C++里的代码:

typedef struct{
      int Type;
}WinProp_Pattern;

typedef struct{
      int *DataID;
      char **Files;
      float ***Matrix; //存放X,Y,Z空间坐标
      WinProp_Pattern *myPattern;
}WinProp_Result;

int WinProp_Predict(int Data,WinProp_Result* Result);

在C#应该如何对应啊?“float ***Matrix;”是什么意思,是指针还是三维数组呢?请大家帮忙解决!
搜索更多相关主题的帖子: intptr DLL 
2010-01-26 21:58
baikil
Rank: 10Rank: 10Rank: 10
来 自:X星球
等 级:青峰侠
威 望:4
帖 子:282
专家分:1580
注 册:2009-7-20
得分:20 
试试这个吧,
struct WinProp_Pattern
{
    int Type;
}

struct WinProp_Result
{
      int[] DataID;         
      char[][] Files;
      float[][][] Matrix;
      WinProp_Pattern[] myPattern;
}

int WinProp_Predict(int Data,ref WinProp_Result Result); //有输入

//int WinProp_Predict(int Data,out WinProp_Result Result);  //只输出
不一定行,试试看吧,
指针的传值方式与组数的传值方式相似,都是用地址来传递,可以递换的.

自创QQ群64885635,方便C#学习交流.希望各项工作路好学都好入!
2010-01-27 09:48
tonanks
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-1-26
得分:0 
回复 2楼 baikil
谢谢你的答案,但是不行,听说用intptr可以做,有人会吗?
2010-01-27 18:59



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-296555-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.145479 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved