gcc | 区分大小写 |
|
|
|
|
| .c |
| c |
|
|
| .a | 由目标文件构成的文档库文件 |
|
|
|
| .C .cc .cxx |
| c++ |
|
|
| .h |
|
|
|
|
| .i |
| c |
|
|
| ,ii | 预处理后的源代码文件 | c++ |
|
|
| .m | 预处理后的源代码文件 | Objective-C |
|
|
| .o |
| 编译后的目标文件 |
|
|
| .s | 汇编语言源代码文件 |
|
|
|
| .S | 预编译的汇编语言源代码文件 |
|
|
|
|
|
|
|
|
|
选项- |
|
|
|
|
|
-o | filename.* | 指定输出文件名 |
|
|
|
-c |
| 编译不连接,目标文件.o |
| 相当于-o |
|
-S |
| 编译不汇编,生成汇编代码 |
|
| |
-E |
| 进行预编译,其他不处理 | 各种宏替换 |
| |
-g |
| 可执行文件包含标准调试信息 |
|
|
|
-v |
|
|
|
|
|
-I dir |
| 在头文件的搜索路径列表添加dir 目录 | include | .a .so | gcc t.c -I /homen/dhfjf/include -o t.out |
-L dir |
| 在库文件的搜索路径列表添加dir目录 | lib | .so | gcc t.c -L /homen/dhfjf/lib -lfoo -o t.out |
|
|
|
| .a .so | gcc t.c -L /homen/dhfjf/lib -static -lfoo -o t.out |
-static |
| 链接静态库 |
|
|
|
-library |
| 连接名为library的库文件 |
|
|
|
-Dmacro |
| 定义指定宏,使它通过源码中#ifdef进行检验 |
|
|
|
-O -O2 -O3 |
| 打开优化状态。不与-g用 |
|
|
|
-Wall |
| 发生警告取消编译,警告视为错误 |
|
|
|
-Werror |
| 发生警告取消编译,警告视为错误 |
|
|
|
-w |
| 进制所有的报警 |
|
|
|
-pedantic |
| 演个要求符合ANSI标准 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| gcc infile –g –o file .o |
|
| 先用gcc获取可执行文件,在编译时要使用gcc –g –o file .o infile,这样才可以使用list查看源代码以、使用print、定行调试。如果gcc只用gcc –o file.o infile 那么在调试gdb file.o只能break function。disassemble functionname 可以查看对应的汇编语言 |
|
|
|
|
| gcc -MM file1 file2 file3 | 获取头文件 |
|
|
Linux下简单gcc
最新推荐文章于 2021-10-12 23:38:52 发布