- C语言源代码需要经过预处理,编译,汇编,链接。
- 预处理命令:gcc -E x.c -o x.i 用以将头文件,宏定义等展开。
- 编译命令:gcc -S x.c -o x.s 用以将源文件编译成为汇编代码。
- 汇编命令:gcc -c x.s -o x.o 用以将汇编代码编译成为目标代码。
- 链接命令:gcc x.o -o x 用以将目标代码链接成为可执行二进制文件。
- -Wall是常用输出warning信息的选项。
- 函数库指头文件.h和库文件.so,lib或者dll。linux下默认头文件一般放在/usr/include/,库文件一般放在/usr/lib/下。
- 引用头文件-include很少用,一般用-l指定路径(绝对路径或者相对路径)
- 引用库文件,若库文件在/lib,/usr/lib,/usr/local/lib。需要-L选项指定路径,-l选项指定具体库文件,不需要lib前缀。(很多库开发包提供了生成链接参数的程序,名字一般叫xxxx-config,一般放在/usr/bin目录下。--libs选项指定库文件路径,--cflags用来生成头文件包含目录。gcc x.c `x-config --libs --cflags`。)
- 静态链接库.a和动态链接库.so。默认优先调用动态库,-static强制使用静态库。
- -On优化代码选项n=0,1,2,3
- -p和-pg性能选项,能将更多剖析信息加入到二进制文件中,调试方便。
【SpamHunter】GCC相关速查手册——整理自网络
最新推荐文章于 2020-09-15 08:18:39 发布