自己写的*.dll用结构体指针做形参把调用结果结构体数组数据传递出来,为什么数据总出错?

m3DPoints*points3D是在dll写的函数f1的形参,m3DPoints是在dll里定义的结构体。现在调用该*.dll的主函数中显示*.dll中某个函数f2的... m3DPoints* points3D是在dll写的函数f1的形参,m3DPoints是在dll里定义的结构体。现在调用该*.dll 的主函数中显示*.dll中某个函数f2的结果其是在该函数里调用上面f1的形参传递出的一个结构体数组,可以进入*.dll的程序,就是通过形参把结果传递出来就乱了,不知道有人知道这是什么原因吗?
晕死还是不行,在控制台程序用形参还是返回值都没问题,但是写成*.dll再在别的程序里调用就不行,每次返回的数组指针都在数组的最后一组数据,而不是数组的第一组数据,所以我才看到其他的都是乱的,这是怎么回事。为什么控制台程序里返回的就是数组第一组数据的指针。
展开
 我来答
zhjiemm
2012-09-27 · TA获得超过2643个赞
知道大有可为答主
回答量:1834
采纳率:75%
帮助的人:715万
展开全部
可以用返回值传递 来解决。
或是传进去一个结构体的引用。

把需要传出的信息,复制到传入的形参指针所对应的内存中。
更多追问追答
追问
什么叫结构体的引用?我就是用结构体指针做形参,把需要传出的信息放到,形参指针对应的内存中,但结果内存中全是乱数据。
追答
你看两边结构体的大小是否一样。方便的话,把结构体发上来看看。
结构体中,最好不要用到动态申请的类这样的变量。

如:
struct a{
int x,y;
char s[10]
};

这样子的,应该是没有问题的。
不想写代码的老蓝人
2012-09-27 · 超过23用户采纳过TA的回答
知道答主
回答量:154
采纳率:0%
帮助的人:48.7万
展开全部
靠,,我还没写过dll
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式