GCC编译

gcc(GNU C compiler)

基本用法:

gcc [options] [filename] -O outputname
options:编译器所需要的编译选项。
filenames:要编译的文件名
-o output_filename确定可执行文件的名称为output_filename。如果不给出这个选项,gcc就给出预设的可执行文件a.out

编译选项:

-O,对程序进行优化编译、链接,采用这个选项,整个源代码会在编译、连接过程中进行优化处理,这样产生的可执行文件的执行效率可以提高,但是,编译、连接的速度就相应地要慢一些。
-O2,比-O更好的优化编译、连接,当然整个编译、连接过程会更慢

-c:只编译,不链接成可执行文件,编译器只是由输入的.c等源代码文件生成.o为后缀的目标文件。

-g:产生调试工具所需要的符号信息,要想对编译出的程序进行调试。

-I dirname: dirname所指出的目录作为编译器寻找头文件的标准路径。

gcc foo.c -I /home/include -o foo

-static:  静态链接库文件

  库可分为动态和静态两种,动态为.so后缀,静态用.a为后缀。

  Linux在缺省情况下:选择链接动态库。

gcc -static hello.c -o hello

-Wall:生成所有警告信息
-w:不生成任何警告信息

-DMACRO定义 MACRO 宏,等效于在程序中使用#define MACRO

 

编译过程可以分为:

1.预处理

2.编译

3.汇编

4.链接

这四个阶段

文件类型:

gcc hello.c -o hello
./hello

计算程序运行时间:

time ./hello
原文地址:https://www.cnblogs.com/Caden-liu8888/p/7690024.html