linux 系统编程-学习笔记6-main函数/atexit函数/动态库、静态库/
来源:互联网 发布:python gnuradio 编辑:程序博客网 时间:2024/05/08 13:37
_________________________________________________________________________________________________________
main函数【进程】结束,会做那些事情?
exit/return
exit(0)/return 0 ; 正常返回
exit(-1)/return -1;异常返回
================================================
1.刷新所有的缓冲区
2.关闭所有打开的文件描述符
3.调用注册清理函数
int atexit(void (*function)(void));
通过atexit注册清理函数
==>exit/return之后调用清理函数function
void (*function)(void) :函数指针=>用于接受函数返回的地址
void gameover(void)
{
}
atexit(gameover);
int atexit(void (*function)(void));
{
}
========================================================
如果调用_exit/_Exit()退出,则不会做以上三件事情
预处理 ==》汇编==》编译==》链接
静态库和动态库
静态库:xxx.a(以.a为后缀)
1.在编译的时候把相关的库文件一起编译到可执行文件中
1)可执行文件再执行的时候不依赖相关的库文件(静态库的路径可随意改变)
2)可执行文件较大
3)每次升级都需要重新编译(升级不方便)
2.制作一个静态库文件
1)gcc -O -c *.c ==>.o文件(目标文件)
2)ar -rsv xxx.a *.o
3)gcc -o main main.c ./xxx.a(main:可执行文件)
动态库:xxx.so (以.so为后缀)
1.在编译的时候没有把相关的库文件一起编译到可执行文件中
1)可执行文件再执行的时候依赖相关的库文件(动态库的路径不能改变)
2)可执行文件较小
3)每次升级都不需要需要重新编译(升级方便)
2.制作一个动态库文件
1)gcc -O -c *.c ==>.o文件(目标文件)
2)gcc --shared -o xxx.so *.o
3)gcc -o main main.c ./xxx.so(main:可执行文件)
-fPIC: 位置无关码
gcc --shared -fPIC -o lib.so *.o
0 0
- linux 系统编程-学习笔记6-main函数/atexit函数/动态库、静态库/
- C学习笔记 13 atexit 在main函数调用结束后调用函数
- Linux系统编程学习笔记-open函数
- 学习笔记之atexit()函数
- Linux atexit函数解析
- Linux中的atexit函数
- linux中的atexit函数
- linux入门:atexit函数
- atexit函数学习
- linux系统编程之进程(四):进程退出exit,_exit区别即atexit函数
- linux系统编程之进程(四):进程退出exit,_exit区别即atexit函数
- linux系统编程之进程(四):进程退出exit,_exit区别即atexit函数
- linux 下的atexit()函数
- linux 之atexit函数详解
- linux的atexit()函数
- Linux下的atexit函数
- linux下的atexit()函数
- Linux C编程学习--main()函数简析
- Ubuntu创建桌面启动器的两种方法
- iOS开发UI篇章之 九宫格坐标计算
- MYSQL中子句LIMIT的使用
- 数据结构 第二章 线性表
- 同一个Android项目出现多个图标
- linux 系统编程-学习笔记6-main函数/atexit函数/动态库、静态库/
- 在Ubuntu 14.04下安装Google Chrome浏览器
- android滑动基础篇 TouchView
- 常见各种语言编写的程序的入口点代码(识别是否到达OEP)
- 四川大学线下编程比赛第三题:书本转移
- iOS8新功能新特性
- HashMap是无序序列
- python 概率分布相关API
- 利用站内优化做好用户体验