<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="C#向C++封送结构体数组" id="card1">
<p> 游客</p><p>
标题:C#向C++封送结构体数组<br/>
正文:<br/>
在使用第三方的非托管API时，我们经常会遇到参数为指针或指针的指针这种情况，一般我们会用IntPtr指向我们需要传递的参数地址； 但是当遇到这种一个导出函数时,我们如何正确的使用IntPtr呢，extern &quot;C&quot; __declspec(dllexport) int GetClass(Class pClass[50]) ； 由于这种情况也经常可能遇到，所以我制作了2个示例程序来演示下如何处理这种非托管函数的调用！ 首先创建一个C++ 的DLL  设置一个如上的导出函数 1 #include &amp;lt;Windows.h&amp;gt;  2 #include &amp;lt;stdio.h&amp;gt;  3   4 typedef struct Student  5 {  6     char name[20];  7     int age;  8     double scores[32];  9 }Student; 10  11 typedef struct Class 12 { 13     int number; 14     Student students[126]; 15 }Class; 16  17 extern &quot;C&quot; __declspec(dllexport) int GetClass(Class pClass[50]) 18 { 19     for(int i=0;i&amp;lt;50;i++) 20   &amp;nb<br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=444&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=444&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=444&amp;Page=2">[2]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=444&amp;Page=3">[3]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=444&amp;Page=7">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=444">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=444">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>