社区
C语言
帖子详情
请问各位大侠一个问题?(C语言)
yaofcd
2003-11-08 04:20:38
问题是这样的:我现在写了一个动态连接库(DLL),现在我写了一个可执行函数(main函数),生成了一个EXE。执行这个EXE文件时,调用了DLL,在DLL里面用malloc分配了很多空间,现在我想在main函数退出之前free掉malloc分配的空间,这个分配的空间是我通过参数(指针)传给DLL的(在参数的后面分配空间),请问我能不能在main函数中free掉这个空间?谢谢!
...全文
28
7
打赏
收藏
请问各位大侠一个问题?(C语言)
问题是这样的:我现在写了一个动态连接库(DLL),现在我写了一个可执行函数(main函数),生成了一个EXE。执行这个EXE文件时,调用了DLL,在DLL里面用malloc分配了很多空间,现在我想在main函数退出之前free掉malloc分配的空间,这个分配的空间是我通过参数(指针)传给DLL的(在参数的后面分配空间),请问我能不能在main函数中free掉这个空间?谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
挺拔的劲松
2003-11-08
打赏
举报
回复
可以是可以,不过最好在DLL中写一个释放内存的函数,用它来释放。
xliu2019
2003-11-08
打赏
举报
回复
不是好习惯
短歌如风
2003-11-08
打赏
举报
回复
你应该在你的DLL中写一个释放内存的函数并引出,调用它去释放。
“DLL与main总是在同一个进程地址空间”说法是不正确的。一般C运行库中的malloc等函数不会直接调用系统API去管理内存,而有自己的局部堆。而EXE和DLL连接自己的运行库,也就分别有自己的局部堆。你在DLL中分配的内存,如果在EXE中释放,就有可能搅乱EXE的局部堆。
现在很多开发工具都提供“动态连接的运行库”,当你使用这种方式编译连接你的EXE和DLL时,它们就会调用同一个运行库代码——是另一个DLL,这时它们就只有一个局部堆,从而可以在EXE中释放DLL中分配的内存或相反了。
19830711
2003-11-08
打赏
举报
回复
申请了就要及时删掉
你这样做是很危险的
dddd8888
2003-11-08
打赏
举报
回复
总觉的这样不太好
anxing
2003-11-08
打赏
举报
回复
你为什么要在MAIN中,不是可不可以的问题。什么都是可以的,垃圾都可以吃。
zhukeke
2003-11-08
打赏
举报
回复
当然可以在main中free掉。DLL与main总是在同一个进程地址空间,因此是没有问题的。+
C语言
之四书五经.
C语言
升入学习的一本好书,推荐给各位想学习
C语言
的
大侠
们
51单片机
C语言
学习
51单片机
C语言
学习 可以肯定的说这个教程只是为初学或入门者准备的,笔者本人也只是菜鸟一只, 有望各位
大侠
高手指点错误提出建议。
C# For Unity系列之入门篇
你想当“李逍遥”式的“
大侠
”吗? 这里无需计算机基础,无需编程经验,你也不必是计算机专业的在校大学生....只要爱好游戏,怀揣梦想! 有一定自主学习能力,跟着刘老师从“编程小白”修炼为游戏研发“大虾”吧!!!学习好Unity,其先决条件是一定要有稳固、扎实的编程基础!课程 《C# For Unity系列之入门篇》配套学习资料链接:http://pan.baidu.com/s/1gflxreN 密码:sou5;刘老师讲Unity学员群(2) 497429806一、热更新系列(技术含量:中高级):A:《lua热更新技术中级篇》https://edu.csdn.net/course/detail/27087B:《热更新框架设计之Xlua基础视频课程》https://edu.csdn.net/course/detail/27110C:《热更新框架设计之热更流程与热补丁技术》https://edu.csdn.net/course/detail/27118D:《热更新框架设计之客户端热更框架(上)》https://edu.csdn.net/course/detail/27132E:《热更新框架设计之客户端热更框架(中)》https://edu.csdn.net/course/detail/27135F:《热更新框架设计之客户端热更框架(下)》https://edu.csdn.net/course/detail/27136二:框架设计系列(技术含量:中级): A:《游戏UI界面框架设计系列视频课程》https://edu.csdn.net/course/detail/27142B:《Unity客户端框架设计PureMVC篇视频课程(上)》https://edu.csdn.net/course/detail/27172C:《Unity客户端框架设计PureMVC篇视频课程(下)》https://edu.csdn.net/course/detail/27173D:《AssetBundle框架设计_框架篇视频课程》https://edu.csdn.net/course/detail/27169三、Unity脚本从入门到精通(技术含量:初级)A:《C# For Unity系列之入门篇》https://edu.csdn.net/course/detail/4560B:《C# For Unity系列之基础篇》https://edu.csdn.net/course/detail/4595C: 《C# For Unity系列之中级篇》https://edu.csdn.net/course/detail/24422D:《C# For Unity系列之进阶篇》https://edu.csdn.net/course/detail/24465四、虚拟现实(VR)与增强现实(AR):(技术含量:初级)A:《虚拟现实之汽车仿真模拟系统 》https://edu.csdn.net/course/detail/26618五、Unity基础课程系列(技术含量:初级) A:《台球游戏与FlappyBirds—Unity快速入门系列视频课程(第1部)》 https://edu.csdn.net/course/detail/24643B:《太空射击与移动端发布技术-Unity快速入门系列视频课程(第2部)》https://edu.csdn.net/course/detail/24645 C:《Unity ECS(二) 小试牛刀》https://edu.csdn.net/course/detail/27096六、Unity ARPG课程(技术含量:初中级):A:《MMOARPG地下守护神_单机版实战视频课程(上部)》https://edu.csdn.net/course/detail/24965B:《MMOARPG地下守护神_单机版实战视频课程(中部)》https://edu.csdn.net/course/detail/24968C:《MMOARPG地下守护神_单机版实战视频课程(下部)》https://edu.csdn.net/course/detail/24979
51单片机
C语言
入门教程.rar
学习单片机实在不是件易事,一来要购买高价格的编程器,仿真器,二来要学习编程语 言,还有众多种类的单片机选择真是件让人头痛的事。在众多单片机中51 架构的芯片风行 很久,学习资料也相对很多,是初学的较好的选择之一。51 的编程语言常用的有二种,一 种是汇编语言,一种是C 语言。汇编语言的机器代码生成效率很高但可读性却并不强,复 杂一点的程序就更是难读懂,而C 语言在大多数情况下其机器代码生成效率和汇编语言相 当,但可读性和可移植性却远远超过汇编语言,而且C 语言还可以嵌入汇编来解决高时效 性的代码编写
问题
。对于开发周期来说,中大型的软件编写用C 语言的开发周期通常要小 于汇编语言很多。综合以上C 语言的优点,我在学习时选择了C 语言。以后的教程也只是 我在学习过程中的一些学习笔记和随笔,在这里加以整理和修改,希望和大家一起分享,一 起交流,一起学习,一起进步。 *注:可以肯定的说这个教程只是为初学或入门者准备的,笔者本人也只是菜鸟一只, 有望各位
大侠
高手指点错误提出建议。 明浩 2003-3-30 pnzwzw@163.com
c_language_contest.rar_contest
C语言
csdn的
C语言
大赛自己的答案。各位
大侠
如果有空,可以互相切磋哈
C语言
69,382
社区成员
243,073
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章