C程序是怎么启动的
2018-03-18 00:00
106 查看
摘要: C程序是怎么启动的?
在C程序执行之前 ,启动例程已经启动了
ls lib/libc*
编译器在编译时会将启动例程编译进可执行文件中
启动例程作用:
搜集命令行的参数传递给main函数的argc 和argv
搜集环境信息构建环境表并传递给main函数
登记进程的终止函数 (清缓存 等释放资源)
进程终止
正常终止
1从main 函数返回(return 0)
2.调用 exit (C库函数)
调用_exit或_Exit(系统调用)
最后一个线程从其启动例程返回
最后一个线程调用pthread_exit;
异常终止
调用abort
接受到一个信号并终止
最后一个线程对取消请求做处理响应
进程返回
成功返回0 否则返回非0
在SHELL中可以查看进程返回值 echo $?()
在C程序执行之前 ,启动例程已经启动了
ls lib/libc*
编译器在编译时会将启动例程编译进可执行文件中
启动例程作用:
搜集命令行的参数传递给main函数的argc 和argv
搜集环境信息构建环境表并传递给main函数
登记进程的终止函数 (清缓存 等释放资源)
进程终止
正常终止
1从main 函数返回(return 0)
2.调用 exit (C库函数)
调用_exit或_Exit(系统调用)
最后一个线程从其启动例程返回
最后一个线程调用pthread_exit;
异常终止
调用abort
接受到一个信号并终止
最后一个线程对取消请求做处理响应
进程返回
成功返回0 否则返回非0
在SHELL中可以查看进程返回值 echo $?()
相关文章推荐
- ubuntu 怎么将程序拖到左边启动栏
- 求助操作系统启动,自动运行程序,用DELPHI 要怎么写代码?
- 全新安装win10卡在安装程序正在启动该怎么办?
- win2000启动时提示“无法定位程序输入点SaferCreateLevel于动态链接库ADVAPI32.dll上”怎么解决?
- 怎么判断一个程序正在运行,不能让程序重复启动
- python 怎么启动一个外部命令程序, 并且不阻塞当前进程
- windows操作系统下怎么设置开机启动程序
- 快速启动程序(runquick) 怎么用
- java程序怎么在一个电脑上只启动一次,只开一个进程
- 程序启动,怎么改变输入法为美国英文
- 怎么让你的软件可以被Win+R + 程序名启动?
- 怎么让程序在开机时自动启动
- 在MAC系统里添加开机启动任务(但是怎么才能知道自己程序的固定位置呢?)
- linux下怎么通过.sh文件启动java程序
- 怎么才能使程序一启动就隐藏窗口(解决方案转自http://www.china-askpro.com/)
- 我想把我写的c#程序随windows启动(开机启动), 我该怎么写呢
- windows无法启动此程序计算机丢失oci.dll怎么办
- 怎么才能使程序一启动就隐藏窗口(解决方案转自http://www.china-askpro.com/)
- windows操作系统下怎么设置开机启动程序
- 在MFC编程中,怎么使程序开机自动启动