trealloc.lst

来自「单片及c语言轻松入门的随书光盘」· LST 代码 · 共 59 行

LST
59
字号
C51 COMPILER V7.06   TREALLOC                                                              06/20/2006 09:22:50 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE TREALLOC
OBJECT MODULE PLACED IN trealloc.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE trealloc.c LARGE BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include <reg52.h>
   2          #include <stdlib.h>
   3          #include <absacc.h> //为使用init_mempool函数中的XBYTE定义而加入该头文件
   4          #include <stdio.h>      /* 为使用printf函数而加入 */
   5          void tst_realloc (void) {
   6   1              void xdata *p;
   7   1              void xdata *new_p;
   8   1              init_mempool (&XBYTE [0x2000], 350);    //初始化存储器,指定开始地址及大小
   9   1      //去掉该行程序会有连接警告
  10   1      //当前结果是"Reallocation succed"
  11   1      //如果将参数350改为103及以下,结果将是"Not enough memory space",即p=malloc(100)函数无法成功执行
  12   1      //如果将参数350改为307及以下,结果将是"Reallocation failed",即new_p=realloc(p,200)函数无法成功执行
  13   1              p = malloc (100);
  14   1              if (p != NULL) 
  15   1              {
  16   2                      new_p = realloc (p, 200);
  17   2                      if (new_p != NULL) 
  18   2                      {       p = new_p;
  19   3                              printf ("Reallocation succeed\n");      
  20   3                      }
  21   2                      else 
  22   2                              printf ("Reallocation failed\n");
  23   2              }
  24   1              else 
  25   1                      printf("Not enough memory space\n");
  26   1      }
  27          void main()
  28          {       SCON  = 0x50;    /*SCON:工作模式1,8-bit UART,允许接收*/
  29   1              TMOD |= 0x20;    /*TMOD:定时器T1,工作模式2, 8位自动重载方式*/
  30   1              TH1   = 0xf3;    /*当波特率为2400时,定时器初值*/
  31   1              TR1   = 1;       /*定时器T1开始运行*/
  32   1              TI    = 1;       /*允许发送数据*/
  33   1              for(;;)
  34   1                      tst_realloc();
  35   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    100    ----
   CONSTANT SIZE    =     68    ----
   XDATA SIZE       =   ----       2
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?