1.gcc/g++的作用
gcc/g++就是将写好的c/c++的代码经过预编译/编译/汇编/链接生成可执行程序的过程,这个过程就是编译器的作用。
PS:由于c++支持c语言的语法,gcc和g++的操作差不多,在这里只讲gcc的使用方法。
2.gcc如何完成
格式 gcc [选项] 要编译的文件 [选项] [目标文件]
2.1 预处理
预处理主要包括:头文件的替换,去注释,宏定义,条件编译
预处理阶段是以#开头的代码段
实例:gcc - E 文件.c -o 文件.i
说明:-E是将以.c为后缀的文件翻译到以.i为后缀的文件,完成预处理的阶段,然后停止。
比如:预处理之后的text.i文件
2.2 编译
编译主要包括检查代码的是否有语法错误,语义错误,词法错误,然后将检查无误的代码翻译为汇编语言,可以使用-S指令来查看汇编语言
实列: gcc -S text.i -o text.s
说明:-S是将以.i为后缀的文件翻译成以.s为后缀的文件。该文件的内容为汇编语言
比如:编译之后的汇编代码
2.3 汇编
汇编是将已经生成的汇编语言转换为二进制语言,适用-C来进行转换
实例:gcc -C text.s -o text.o
说明:将汇编语言转化为二进制语言
比如:
2.4 链接
将二进制文件转化为以可执行文件,执行文件
比如:gcc text.o text
3.gcc的选项
-E 只激活预处理,这个不生成文件,你需要把它重定向到一个输出文件里面
-S 编译到汇编语言不进行汇编和链接
-c 编译到目标代码
-o 文件输出到 文件