分类: LINUX
2008-12-15 00:33:32
gcc 编译过程
预处理preprocessing
gcc -E hello.c -o hello.i
编译compiling
gcc -S hello.i -o hello.s
汇编assembling
gcc -c hello.s -o hello.o
链接linking (链接库函数)
gcc hello.o -o hello
注:有两种库函数,静态库xxx.a和动态库xxx.so
常用命令行选项
-v 打印出被隐藏的信息
-fpic 生成位置无关的目标码
-static 强制进行静态连接
-shared 生成动态(共享)目标文件
-lxxx 连接库libxxx.a
-L dir 库文件的搜索路径列表中添加dir目录
-I dir 头文件的搜索路径列表中添加dir 目录
-Werror 出现任何警告时退出编译
-Wall/-w 发出所有警告/关闭所有警告
-On 优化级别,0<=n<=3
-g 包含调试信息
-c 只编译,不连接(多个源文件的编译)
-o 指定输出文件的文件名