搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ [求助]谁能发下malloc()和free()的源代码不?
标题:
[求助]谁能发下malloc()和free()的源代码不?
只看楼主
arther1988
来 自:福州
等 级:
新手上路
帖 子:5
专家分:0
注 册:2008-11-30
楼主
问题点数:0 回复次数:7
[求助]谁能发下malloc()和free()的源代码不?
[求助]我想看下malloc()和free()的源代码~~有没有谁能发下?谢谢~急用~
[[it] 本帖最后由 arther1988 于 2008-11-30 22:22 编辑 [/it]]
搜索更多相关主题的帖子:
源代码
free
malloc
2008-11-30 22:09
forever74
来 自:CC
等 级:
贵宾
威 望:
49
帖 子:1636
专家分:3940
注 册:2007-12-27
第
2
楼
得分:0
库函数这种东西的作用就是给你提供标准接口,其内部实现是平台相关的,所以没啥标准哦
对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2008-11-30 22:41
arther1988
来 自:福州
等 级:
新手上路
帖 子:5
专家分:0
注 册:2008-11-30
第
3
楼
得分:0
我要写个函数实现malloc和free的功能,所以想看下库函数的代码。
2008-11-30 22:53
arther1988
来 自:福州
等 级:
新手上路
帖 子:5
专家分:0
注 册:2008-11-30
第
4
楼
得分:0
T.T
都没人发啊~~~
2008-11-30 23:25
forever74
来 自:CC
等 级:
贵宾
威 望:
49
帖 子:1636
专家分:3940
注 册:2007-12-27
第
5
楼
得分:0
glibc里面的malloc源码至少有100多K,等看完了估计你也毕业了
呵呵,开玩笑
言归正传,你要写的作业也就是小小地模拟一下这两个函数的功能
作为作业一般来说就是先开一个很大的数组,然后在数组占用的空间里面模拟malloc就是了
旁边可以另外开个数组记录每块分配的空间有多大,首地址是什么,准备将来free用
或者干脆就在分配的空间旁边多占用几个字节记录一下也可以
对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2008-11-30 23:40
arther1988
来 自:福州
等 级:
新手上路
帖 子:5
专家分:0
注 册:2008-11-30
第
6
楼
得分:0
呵呵,跟5楼说的几乎一样~~
我使用的是这样的一个数据结构
struct Linker{
unsigned int size;//数据块大小
struct Linker * next;//指向下一个数据块
}
然后在数组里面建立结点,每个结点代表分配的一个数据块。
不过建立结点后要把使用的数据块从那个很大的数组里面剔除出去,这部分要怎么实现啊???
难道只是很简单的减小数组大小,并把next指向下一个地址?
2008-11-30 23:52
arther1988
来 自:福州
等 级:
新手上路
帖 子:5
专家分:0
注 册:2008-11-30
第
7
楼
得分:0
回复 第5楼 forever74 的帖子
2008-11-30 23:52
jig
等 级:
版主
帖 子:530
专家分:242
注 册:2005-12-27
第
8
楼
得分:0
建议这样做。
开辟一个储存空间,以BIT位来记录当前内存是否被使用。
比如32位系统,内存按4字节对齐。
比如我们32个字节的内存,即8个long。
那么而外开辟一个1个字节char,用每一位分别对应8个long
使用了的内存部分标记为1,没有使用的标记为0.这样打规模引用后,就可以编写malloc和free函数
个人网站 - http://.h001.
2009-09-18 09:29
8
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-247094-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.491624 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved