每个程序都会收到一张环境表 extern char **environ;
c程序的存储空间布局:
正文段:共享,只读
初始化数据段:存函数以外的赋值
非初始化数据段(bbs):block started by symbol 在程序开始之前,内核将此段中数据初始化0或NULL,存储函数以外的声明
栈
堆:堆位于非初始化数据段和栈之间
c中,goto语句不能跨越函数的,执行这类跳转的是setjmp / longjmp
getrlimit/setrlimit
每个程序都会收到一张环境表 extern char **environ;
c程序的存储空间布局:
正文段:共享,只读
初始化数据段:存函数以外的赋值
非初始化数据段(bbs):block started by symbol 在程序开始之前,内核将此段中数据初始化0或NULL,存储函数以外的声明
栈
堆:堆位于非初始化数据段和栈之间
c中,goto语句不能跨越函数的,执行这类跳转的是setjmp / longjmp
getrlimit/setrlimit