[国嵌笔记][012][GCC程序编译]

时间:2022-11-25 06:45:54

GCC特点

GCC(GUN C Compiler)是GUN推出的功能强大、性能优越的多平台编译器。其执行效率与一般编译器相比平均效率要高20%~30%。

GCC基本用法

gcc [options] filenames

GCC编译流程

hello.c->预编译->hello.i->编译->hello.s->汇编->hello.o->链接->hello

gcc -E hello.c -o hello.i   "-E"表示执行预处理 "-o"表示输出文件名

gcc -S hello.i -o hello.s   "-S"表示执行编译

gcc -c hello.s -o hello.o   "-c"表示执行汇编

gcc    hello.o -o hello         表示执行链接

常见的文件类型

.c :c文件

.h :头文件

.s :汇编文件

.o :目标文件

.C或 .cc或 .cxx: c++文件

.a :库文件

GCC编译选项

-o filename :指定输出文件名

-O :对编译程序优化,比如去除程序中没有用到的变量

  time ./filename   统计程序的运行时间

-O2 :对编译程序优化,程度比-O强

-c :不链接,生成.o文件

-g :产生具备可调试信息的程序,使用gdb调试时需要编译程序有该选项

-I :添加非标准头文件路径,gcc标准的寻找头文件路径/usr/include/

-Wall :生成所有警告

-w :不生成任何警告

-D(MACRO):定义(MACRO)宏,相当于在程序中使用#define (MACRO)