对gcc的理解
gcc中,ld是链器程序,ar可将多个目录文件合成一个函数库,如ar r liba.a a.o会从a.o中生成a这个库。nm可以查看库文件的内容,如nm libstdc++.a。
gcc部分参数:
| -L | 定义连接的库目录 |
| -I | 定义头文件目录 |
| -o | 生成的目的文件名 |
| -O | 加数字定义优化级别 |
| -g | 生成调试信息 |
| -c | 只编译不链接 |
| -fPic | 生成相对地址代码,可用于生成动态库 |
| -static | 强制生成静态链接的程序 |
| -aout | 生成a.out格式的文件,缺少是elf |
| -elf | 生成elf格式的文件,3.0后缺省是elf |