sbrk.c

来自「基于7758的三相多功能电能表的设计程序」· C语言 代码 · 共 44 行

C
44
字号
/***********************************************************************/   
/*                                                                     */   
/*  FILE        :sbrk.c                                                */   
/*  DATE        :Fri, Nov 07, 2003                                     */   
/*  DESCRIPTION :Program of sbrk                                       */   
/*  CPU TYPE    :H8/38024F                                             */   
/*                                                                     */   
/*  This file is generated by Renesas Project Generator (Ver.3.0).     */   
/*                                                                     */   
/***********************************************************************/   
                     
   
   
#include <STDIO.H>    
#include "sbrk.h"    
   
//const size_t _sbrk_size=      /* Specifies the minimum unit of    */    
                                /* the defined heap area            */    
   
static  union  {   
        long  dummy ;        /* Dummy for 4-byte boundary          */   
        char heap[HEAPSIZE]; /* Declaration of the area managed   */   
                             /*                           by sbrk */   
 }heap_area ;   
   
static  char  *brk=(char *)&heap_area;/* End address of area assigned     */   
   
/**************************************************************************/   
/*     sbrk:Data write                                                    */   
/*      Return value:Start address of the assigned area (Pass)            */   
/*                   -1                 (Failure)                         */   
/**************************************************************************/   
char  *sbrk(size_t size)           /* Assigned area size      */   
{   
      char  *p;   
   
      if(brk+size>heap_area.heap+HEAPSIZE) /* Empty area size          */   
       return (char *)-1 ;   
   
      p=brk ;                  /* Area assignment         */   
      brk += size ;            /* End address update      */   
      return p ;   
}   

⌨️ 快捷键说明

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