sbrk.c
来自「Newlib 嵌入式 C库 标准实现代码」· C语言 代码 · 共 37 行
C
37 行
#include <_ansi.h>#include <sys/types.h>#include <sys/stat.h>#include "sys/syscall.h"int errno;int __trap0 (int function, int p1, int p2, int p3);#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))caddr_t_sbrk (int incr){ extern char end; /* Defined by the linker */ static char *heap_end; char *prev_heap_end;#if 0 char *sp = (char *)stack_ptr;#else char *sp = (char *)&sp;#endif if (heap_end == 0) { heap_end = &end; } prev_heap_end = heap_end; if (heap_end + incr > sp) { _write (1, "Heap and stack collision\n", 25); abort (); } heap_end += incr; return (caddr_t) prev_heap_end;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?