Linux下的GCC与G++

 为了更深入了解程序编译,尽量从无到有地进行系统性地了解,先对程序编译中使用到的GCC与G++进行认识,熟悉。

 首先该篇借鉴自以下博客,如果大家需要了解更加详细可以打开如下链接:
GCC使用简介
gcc与g++的区别
(顺带说下刚了解的:在include语句中,“<>”表示在标准路径中搜索头文件,““””表示在本目录中搜索。)

GCC

 GCC由英文GNU Compier Collection简写而来,其作用是将我们平常通过高级计算机语言编写的源代码构建成计算机能认识的,能直接进行处理的二进制代码。
 GCC是Linux下最常用的编译程序,是Linux平台下编译器的事实标准,在Linux平台下的嵌入式开发领域,GCC也是用得最普遍 的一种编译器。

使用GCC的理由

 GCC一直被大家所广泛使用,当然也有其原因,下面来分几点进行阐述GCC能被大家所广泛使用的理由:

一、支持多种方式的开发

支持宿主开发:即要为哪个平台开发程序,就在哪个平台上进行开发。
支持交叉编译:即要为哪个平台开发程序,但在另一个平台上进行的开发编译。

二、支持多种操作系统

 Linux,Windows,Solaris…

三、支持多种计算机语言

 支持C、C++、Ada、Java、Objective-C、FORTRAN、Pascal…

GCC的编译过程

 对于GNU来说,程序的编译共进行4步,如下引用图所示:
这里写图片描述
 下面对这几个过程做简要说明:

预处理

输入文件:.c源代码文件;
输出文件:.i中间文件;
需要文件:类似.h头文件的包含文件;
主要处理内容:主要处理文件中的#ifdef、 #include和#define命令;
特地生成输出文件命令:gcc -E xxx.c -o xxx.i(这里.i文件一般用不到);

编译

输入文件:预处理生成的.i文件;
输出文件:.s文件;
特地生成输出文件命令:GCC -S xxx.i -o xxx.s;

汇编

输入文件:编译生成的.s文件;
输出文件:.o文件;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值