先看一下UNIX的源代码吧。经典!!
摘自《莱昂氏UNIX源代码分析》用最简单的代码实现强大的功能。现在很难找到这么艺术的代码了!
struct map
{
char *m_size;
char *m_addr;
};
malloc(mp,size)
struct map *mp;
{
register int a;
register struct map *bp;
for(bp=mp;bp->m_size;bp++)
{
if(bp->m_size>=size)
{
a=bp->m_addr;
bp->m_addr=+size;
if((bp->m_size=-size)==0)
do{
bp++;
(bp-1)->m_addr=bp->m_addr;
}
while((bp-1)->m_size=bp->m_size);
return(a);
}
}
return(0);
}
Re: 先看一下UNIX的源代码吧。经典!!
linux中的经典代码有的是。Re: 先看一下UNIX的源代码吧。经典!!
摘自《莱昂氏UNIX源代码分析》用最简单的代码实现强大的功能。现在很难找到这么艺术的代码了!
struct map
{
char *m_size;
char *m_addr;
};
malloc(mp,size)
struct map *mp;
{
register int a;
register struct map *bp;
for(bp=mp;bp->m_size;bp++)
{
if(bp->m_size>=size)
{
a=bp->m_addr;
bp->m_addr=+size;
if((bp->m_size=-size)==0)
do{
bp++;
(bp-1)->m_addr=bp->m_addr;
}
while((bp-1)->m_size=bp->m_size);
return(a);
}
}
return(0);
}
建议版主作些工作,使贴出来的代码的缩进格式保持不变,本来好好的代码,这样显示就不好看了,呵呵。
页:
[1]