malloc.h
来自「一款MP3 Player Firmware 的原代码,非常有参考价值」· C头文件 代码 · 共 51 行
H
51 行
#ifndef MALLOC_H#define MALLOC_Htypedef unsigned long simm_id;#pragma CALLEE-SAVES addr5,addr6,addr7,simm_id_from_pointer#pragma CALLEE-SAVES addr6p,addr7p#pragma CALLEE-SAVES push_addr,pop_addrsimm_id simm_malloc(unsigned int num_bytes);void simm_free(simm_id addr32);void init_malloc(void);xdata void * addr5(simm_id addr32);xdata void * addr6(simm_id addr32);xdata void * addr7(simm_id addr32);xdata void * addr6p(xdata simm_id * xaddr16);xdata void * addr7p(xdata simm_id * xaddr16);simm_id simm_id_from_pointer(xdata void *ptr);void push_addr(unsigned char num);void pop_addr(unsigned char num);#define Addr6(ptr) (addr6p(&(ptr)))#define Addr7(ptr) (addr7p(&(ptr)))// #define Addr6(ptr) (addr6(ptr))// #define Addr7(ptr) (addr7(ptr))/* These addrX_val variables can be used to backup the * current address mapping (they may be needed by a * higher-level calling function). For examples: * * void some_subroutine(simm_id filelist) * { * unsigned int addr7_backup; * filelist struct *f_ptr; * * addr7_backup = addr7_val; //save addr7_val used by calling code * f_ptr = addr7(filelist); * // code that uses f_ptr * addr7_val = addr7_backup; //restore addr7_val before returning * } * */extern volatile xdata at 0xFF0A unsigned int addr5_val;extern volatile xdata at 0xFF0C unsigned int addr6_val;extern volatile xdata at 0xFF0E unsigned int addr7_val;#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?