Chinaunix首页 | 论坛 | 博客
  • 博客访问: 366785
  • 博文数量: 50
  • 博客积分: 1495
  • 博客等级: 上尉
  • 技术积分: 805
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-21 14:19
文章分类

全部博文(50)

文章存档

2011年(47)

2010年(3)

分类: LINUX

2011-04-07 15:35:45

007_UNIX进程的环境


1)五种进程终止的方式

正常终止:

    main函数返回

    调用exit

    调用_exit

异常终止:

    调用abort

    由一个信号终止

 

2)exit()_exit()

两个都用于正常终止一个程序或者一个进程。

区别是_exit立即进入内核,exit则先执行以下诶清除处理,包括调用执行各终止处理程序,关闭所有标准IO流等,然后进入内核。可以说exit_exit的封装形式。

 

exit()包含在stdlib.h中,符合ANSI C

_exit()包含在unistd.h中,符合POSIX

 

3)C语言的存储空间布局

a) 正文段

CPU执行的机器指令部分,通常是可共享的。

b)初始化数据段

通常称为数据段,包含了程序中需赋初值的变量。

Example int num = 66;

c)非初始化数据段

通常称为BSS段,block started by symbol。在程序开始执行之前,内核将此段初始化为0.

Example int a[6];

   

d) 

自动变量、局部变量以及每次函数调用时所需要保持的信息都存放在此段中。

   

e) 

通常在堆中进行动态存储分配。


 水平有限,如果有错误的地方,请指正,thanks

cjok.liao@gmail.com


阅读(1158) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~