1.什么是gcc & gdb.
gcc
gcc是由GNU组织开发的一款编译器,刚开始只可以编译C语言,经过之后的发展,扩展为能支持更多语言的编译器,例如:如Fortran、Pascal、Objective -C、Java、Ada、Go以及各类处理器架构上的汇编语言等,现在被大多用于类UNIX操作系统的标准编译器.
gdb
gdb也是由GNU组织发行的一款调试器,被应用于UNIX以及类UNIX操作系用下的一款出色的调试工具.
2.gcc的使用.
gcc作为一款编译器,其主要功能就是对源代码进行编译,所以其使用方法并不复杂.
gcc + [操作参数] + [文件名称]
操作参数:
-E:只进行到预处理阶段,不进行之后的编译,汇编,链接操作.
-S: 只进行到编译阶段,不进行汇编和链接操作.
-c: 只进行到编译阶段,不进行链接操作.
-o:后加输出文件的文件名,不加此操作默认生成a.out的可执行文件,如果为进行到链接操作,则生成与源文件同名,输出类型相对应
后缀的文件.
-g:需要进行调试时加入的操作,可在生成文件中加入调试相关信息.否则不能进行调试.
_O:在编译过程中,对程序进行一级优化,可增加程序的执行效率,但编译时间更长.
_O2:进行更高级别的优化,相较于上一级优化,程序执行效率更高但编译时间更长.
gcc部分文件命名约定:
.c为后缀的文件:C语言源代码文件
.C/.cxx/.cc为后缀的文件:C++语言源代码文件,必须进行预处理的文件(一般为未经过预处理的文件)
.i为后缀的文件:C语言不能进行预处理的文件(一般为预处理过的文件)
.ii为后缀的文件:C+&#