日期:2014-05-18  浏览次数:20452 次

C#调用c++方法问题,高手请进
//获取排行 
int UMWEBCLIENT GetPlayerList(const int maxrows, int* rows, tagPlayerInfo** ppPlayerInfo); 
这是c++写的一个方法,um_web_client.dll是供调用的dll 
ppPlayerInfo 是结构体 
// public struct tagPlayerInfo 
// { 
// public int id; 
// public char[] PlayerName; 
// public int Country; 
// public int OfficerRace; 
// public int Level; 
// public int MilitaryRank; 
// public int Money; 
// public int ResourceCount; 
// public int CityCount; 
// public int GeneralCount; 
// public int Credit; 
// }; 
[DllImport("um_web_client.dll")] 
请问在c#中如何声明及调用这个方法,请高手们给出具体的写法,谢谢!

------解决方案--------------------
我们公司开发用的是C++、C#

都是C++调用C#
------解决方案--------------------
two level指针tagPlayerInfo** ppPlayerInfo

估计够戗

------解决方案--------------------
可以参考

Passing Structures
http://msdn.microsoft.com/en-us/library/awbckfbz.aspx
------解决方案--------------------
把C++程序编译成 exe文件
改进一下C++程序可以读取参数
参数放在文本文件中
就是C#程序先想文件写入参数
然后 调用用一个进程去跑 exe 文件
然后函数的运行结果
照样写在文本文件中
C#去读取
这个 主要考虑的就是时间的问题

貌似很笨