Linux系统下的gcc简介

Linux系统下的 gcc GNU C  Compiler 是GNU推出的功能强大、性能优越的多平台编译器
gcc最基本的用法是∶
gcc [options] [filenames]
                options:编译器所需要的编译选项
                filenames: 要编译的文件名。
GCC编译程序时,编译过程可以被细分为四个阶段:   预处理(Pre-Processing)、编译(Compiling)、汇编(Assembling)、链接(Linking)。

最基本、最常用的参数:
-o output_filename确定可执行文件的名称为output_filename。如果不给出这个选项,gcc就给出预设的可执行文件a.out
-c只编译,不连接成为可执行文件,编译器只是由输入的.c等源代码文件生成.o为后缀的
目标文件。
-g产生调试工具 (GNU gdb) 所必要的符号信息,要想对编译出的程序进行调试,就必须
加入这个选项。
-O,对程序进行优化编译、链接,采用这个选项,整个源代码会在编译、连接过程中进行优
化处理
-O2,比-O更好的优化编译、连接,当然整个编译、连接过程会更慢。
-Idirname: 将 dirname所指出的目录加入到程序头文件目录列表中。 系统预设的头文件目录(如/usr/include)
-Ldirname dirname 所指出的目录加入到库文件的目录列表中。 系统的预设路径中(如/usr/lib)
-lname在连接时,装载名字为“libname.a”的函数库。 例如,-lm表示连接名为
“libm.a”的数学函数库。
gcc foo.c -L /home/lib -lfoo -o foo
-static静态链接库文件。 例:gcc –static hello.c -o hello
-Wall生成所有警告信息
-w不生成任何警告信息
-DMACRO定义 MACRO 宏,等效于在程序中使用#define MACRO


猜你喜欢

转载自blog.csdn.net/sinat_27614619/article/details/80489260