brk.c
来自「它通过提供glibc兼容使得应用程序移植到较小的c 库时相当得容易. 它能够应用」· C语言 代码 · 共 31 行
C
31 行
/* consider this code LGPL - davidm */#include <unistd.h>#include <sys/syscall.h>#include <errno.h>/* This must be initialized data because commons can't have aliases. */void * ___brk_addr = 0;int brk (void *addr){ void *newbrk; __asm__ volatile ("movel %2,%/d1\n\t" "moveq %1,%/d0\n\t" "trap #0\n\t" "movel %/d0,%0" :"=g" (newbrk) :"i" (__NR_brk),"g" (addr) : "%d0", "%d1"); ___brk_addr = newbrk; if (newbrk < addr) { __set_errno (ENOMEM); return -1; } return 0;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?