2attribute
Folders and files
| Name | Name | 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查看一下所在库即可 ---------------------------------------------------------- **段错误只会出现在超出内存页时,越界不会