atexit

Posted by 夏泽民

按照ISO C的规定,一个进程可以登记至少32个函数,这些函数将由exit自动调用。atexit()注册的函数类型应为不接受任何参数的void函数。 http://man7.org/linux/man-pages/man3/atexit.3.html 函数名: atexit 头文件:#include 功 能: 注册终止函数(即main执行结束后调用的函数) 用 法: void atexit(void (*func)(void)); 注意:exit调用这些注册函数的顺序与它们 登记时候的顺序相反。同一个函数如若登记多次,则也会被调用多次。



atexit

Posted by 夏泽民

1、作用      - 注册函数,main函数返回或者exit函数调用,函数执行顺序与注册顺序相反      -程序退出时调用静态全局变量析构函数(包含静态成员变量) 2、静态对象       全局静态对象构造函数最早,到局部成员静态对象构造函数,析构则相反      想在程序退出时析构,要在atexit注册 1> 在C/C++中,怎样在程序退出main函数后仍然进行一些操作,比如资源堆栈方面的清理?



0x80 0x21 软中断

Posted by 夏泽民

系统调用是一个软中断,中断号是0x80,它是上层应用程序与Linux系统内核进行交互通信的唯一接口。



readelf

Posted by 夏泽民

readelf命令,一般用于查看ELF格式的文件信息,常见的文件如在Linux上的可执行文件,动态库(.so)或者静态库(.a) 等包含ELF格式的文件。 语法:readelf (选项)(参数:文件),除了-v和-H之外,其它的选项必须有一个被指定参数



ar

Posted by 夏泽民

我们已经很熟悉linux中的tar命令了, 英文原文是tape archive,  磁带归档。 今天, 我们要说的是ar命令, 也就是archive, 也是归档。 其实, 对目标文件.o进行归档, 就形成了静态库.a文件。实际上, ar命令可以对一个或者多个目标文件.o进行归档, 形成一个静态库.a文件。 可见, 静态库还是很简单的,无非就是众多目标文件的集合。



Search

Popular posts

Anything in here will be replaced on browsers that support the canvas element

Recent posts

This blog is maintained by 夏泽民

Get in touch with me at 465474307@qq.com

Subscribe to our mailing list

* indicates required