目录
GCC概述
GCC:GNU C Compiler GNU是一个自由的操作系统,其内容软件完全以GPL方式发布。GPL其实就是开源的意思。随着语言越来越多,慢慢的变成了GNU Compiler Collection
通俗理解:高级语言和机器语言的一个翻译官,翻译组织
gcc基础使用:
//查看gcc版本
gcc -v
gcc -o 输出文件名 输入文件名
【-o 输出文件名】 是一个整体
在后面结合编译过程慢慢地介绍更多的使用方法。
编译过程
介绍编译过程之前,先来简单介绍下以下文件的用途:
.i文件: 进行预编译之后生成的文件,一般都是把头文件包含进去,进行宏替换这些工作之后生成的文件。
.s文件:进行编译之后生成的文件,打开为汇编代码。
.o文件:对象文件,是可重定向文件的一种,里面包含了对各个函数的入口标记,描述,当程序要执行时还需要链接(link).链接就是把多个.o文件链成一个可执行文件。
从.c文件到可执行程序的过程共经历四个阶段:预处理,编译,汇编,链接
我们简单写一个C语言程序,命名为1.c:
执行:
gcc -v -o build 1.c //查看gcc编译过程
复制过来:
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.4.0-6ubuntu1~16.04.12' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c