%%百分号,coreleft, sbrk,\ 加执行命令,父子进程

来源:互联网 发布:淘宝的耐克官方旗舰店 编辑:程序博客网 时间:2024/06/05 10:35
* %%百分号
  两个连续的%号,字符串输出为一个%号
* coreleft
  函数名: coreleft
  功 能: 返回未使用内存的大小
  用 法: unsigned coreleft(void);
  程序例:
  #include <stdio.h>
  #include <alloc.h>
  int main(void)
  {
  printf("The difference between the highest allocated block and\n");
  printf("the top of the heap is: %lu bytes\n", (unsigned long) coreleft());
  return 0;
  }


* sbrk
  函数名: sbrk   
功 能: 增加程序可用数据段空间,增加大小由参数 incr决定 。
  返回值:函数调用成功返回一指针,指向新的内存空间。函数调用失败则返回 -1,将errno设为ENOMEM。
  用 法: char *sbrk(int incr);
  程序例:
  #include <stdio.h>
  #include <alloc.h>
  int main(void)
  {
  printf("Changing allocation with sbrk()\n");
  printf("Before sbrk() call: %lu bytes free\n",
  (unsigned long) coreleft());
  sbrk(1000);
  printf(" After sbrk() call: %lu bytes free\n",
  (unsigned long) coreleft());
  return 0;
  }


* \ 加执行命令
  \ 加执行命令,可以单纯执行此命令,可以屏蔽掉系统或者环境变量默认指定的命令参数
  例如:  \cp
* strle和sizeof
  strlen计算不包括终止null字节的字符串长度,而sizeof则计算包括终止null字节的缓冲区长度


* 父子进程
  子进程和父进程继续执行fork调用之后的指令。子进程是父进程的副本,子进程获得父进程数据空间/堆和栈的副本。
  注意,
  这是子进程拥有的副本。父,子进程并不共享这些存储空间部分。父,子进程共享正文段。
  文件描述符共享