标题:DLL 文件中定义的函数和普通函数有什么区别吗
取消只看楼主
vfdff
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:2172
专家分:425
注 册:2005-7-15
结帖率:79.17%
 问题点数:0 回复次数:3 
DLL 文件中定义的函数和普通函数有什么区别吗
我的程序原来使用的都是普通的一些子函数
今天看到了DLL,所以想用一下
就把其中的一些二维空间申请的函数使用了DLL方式提供给程序使用,而保持二维空间释放部分的函数为普通的子函数
结果程序编译没有问题,而运行的时候,在二维空间的释放那里出现了问题

然后我把二维空间释放部分的函数 也已DLL方式提供给程序使用,则编译运行又全都没有问题了!
所以我有个疑问,难道这些普通子函数和DLL定义的子函数一定要配套的吗?


(ps:我在修改的时候,这些子函数具体代码没有改变,只是按照DLL方式修改了他们的返回类型)
搜索更多相关主题的帖子: 函数 DLL 定义 文件 
2008-09-22 17:14
vfdff
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:2172
专家分:425
注 册:2005-7-15
得分:0 
具体的将 就是
原来我声请及释放二维空间的函数
double        **Alloc_Double_Img(short x_size,short y_size);
void Free_Img (void ***image);
都是直接写在一个.cpp文件中
构成一个多文件的工程,一起编译运行正确

现在我把 double        **Alloc_Double_Img(short x_size,short y_size); 函数生成了一个DLL
然后 只保留 void Free_Img (void ***image);在这个 .cpp文件中
可是现在能通过编译,但是运行的时候由问题

再把 double  **Alloc_Double_Img(short x_size,short y_size);和
void Free_Img (void ***image);所在的整个文件用来创建DLL 后
这样程序编译 运行都没有问题了
2008-09-23 00:18
vfdff
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:2172
专家分:425
注 册:2005-7-15
得分:0 
回复 5# thanatus 的帖子
恩 ,理解正确
但是DLL 文件中定义的函数和普通函数有什么区别吗?
2008-09-29 00:17
vfdff
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:2172
专家分:425
注 册:2005-7-15
得分:0 
回复 7# 你们都要疼我哦 的帖子
我感觉你的回答对上了
可能真的是由于这个 基地址不相同 引起的
请问 版主 由什么 方法进行验证吗 ??
2008-09-29 16:28



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




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

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