请选择 进入手机版 | 继续访问电脑版

C++编程

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2420|回复: 1

[讨论] 提问

[复制链接]

6

主题

62

帖子

206

积分

初软

Rank: 3Rank: 3

积分
206
发表于 2017-3-18 21:28:19 | 显示全部楼层 |阅读模式
本帖最后由 000 于 2017-3-18 21:29 编辑

之前有个函数是afree()用于释放栈空间的(和alloca()配对,同时可以直接释放变量)但是现在没了!没了!!没错!没了!
差不多两周前我还测试过用_freea()(可以达到afree()的效果的函数)将一个变量释放,后使用这个变量编辑器提示未初始化,但是现在也不行了,最主要的是_malloca这个函数的宏定义修改为了malloc!file:///D:\QQFile\55311132\Image\C2C\$4YWB5FEU0NHBD}SQBXJ1SD.pngfile:///D:\QQFile\55311132\Image\C2C\$4YWB5FEU0NHBD}SQBXJ1SD.pngfile:///D:\QQFile\55311132\Image\C2C\$4YWB5FEU0NHBD}SQBXJ1SD.pngfile:///D:\QQFile\55311132\Image\C2C\$4YWB5FEU0NHBD}SQBXJ1SD.png
本来_malloca这个函数是根据用户申请的空间大小自动判断是在栈还是在堆上分配!
而且如果强行使用free释放栈空间报错!(这个是明明白白的,但是我怀疑_freea()的释放机制被修改了,所以做了测试)
但是_freea()释放stack空间没有任何提示,也不会报错!
之后我去百度,wiki上搜索afree的影子直接消失了!本来在百度百科上还有这个函数的词条的!
我很纳闷
求解释!!!

这个是一个文献里记载alloca这个函数的使用的一段内容分!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

8

主题

31

帖子

323

积分

版主

Rank: 7Rank: 7Rank: 7

积分
323
QQ
发表于 2017-3-20 09:58:34 | 显示全部楼层
栈空间是不用释放的
VC纵横、磐实编程网
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|C++编程  

GMT+8, 2019-7-22 20:08 , Processed in 0.093750 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表