Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
**函数对属性修饰符__attribute__(())
**constructor修饰对是构造函数在main之前调用,destructor修饰的是析构函数在main之后调用
**gcc xxx.c &&./a.out可直接运行
**ldd a.out查看依赖对库文件
**nm a.out查看目标文件中的符号清单
** 去掉冗余对信息:strip a.out
**objdump显示目标文件(二进制)附加信息
--------------------------------------------------------
**动态库的使用,在编译时不需要,在执行可执行文件时才需要
**编译可执行文件:gcc xxx.c -ldl,使用到的函数都在动态库libdl.so中
**编译动态库:gcc -shared -o libxx.so xxx.c
**带动态库运行时需要指名动态库路径
--------------------------------------------------------
**访问环境变量int main(int argc,char *argv[],char *env[]);中的参数env:
	env是一个字符串数组,每个元素是一个环境变量字符串。env没有元素个数,他是通过一个值为NULL对元素来结束。
**潜规则:向一个函数传递指针数组时,一般不传递元素个数,而是用一个NULL来作为结束元素。
**想要用函数模块就man查看一下所在库即可
----------------------------------------------------------
**段错误只会出现在超出内存页时,越界不会