吴文官 发表于 2002-11-19 18:23:13

先看一下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);
}

pirate 发表于 2002-11-19 21:49:28

Re: 先看一下UNIX的源代码吧。经典!!

linux中的经典代码有的是。

wweiradio 发表于 2002-11-27 14:45:07

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]
查看完整版本: 先看一下UNIX的源代码吧。经典!!