GCC命令编译

GCC命令编译GCC命令

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

1.GCC编译过程(原理如下,使用命令请见2)

从 hello.c 到 hello(或 a.out)文件, 必须历经 hello.i、 hello.s、 hello.o,最后才得到 hello(或a.out)文件,分别对应着预处理、编译、汇编和链接 4 个步骤,整个过程如图所示。

GCC命令编译

 

这 4 步大致的工作内容如下:

(1)预处理,C 编译器对各种预处理命令进行处理,包括头文件包含、宏定义的扩 展、条件编译的选择等,后缀是 .i文件。

test.c是c代码,预处理参数:-E ;另起名称:-o

gcc -E test.c –o test.i     #得到 .i文件

(2)编译,将预处理得到的源代码文件,进行“翻译转换”,产生出机器语言的目标 程序,得到机器语言的汇编文件,后缀是 .s文件。

编译参数:-S

gcc -S test.i   #得到 .s文件

(3)汇编,将汇编代码翻译成了机器码,但是还不可以运行,后缀是 .o文件。

编译参数:-c

gcc -c test.s   #得到 .o文件

(4) 链接,处理可重定位文件,把各种符号引用和符号定义转换成为可执行文件中 的合适信息,通常是虚拟地址,后缀是 .out 文件或者可执行文件

gcc hello.o     #得到 .out文件

2.GCC编译使用命令

最简单使用命令

gcc test.c    #在gcc命令紧跟test源文件名,会有一个 .out 文件
gcc test.c  -o test01.out    #通过 -o 选项来自定义文件名test01.out文件
gcc test.c -o  #/home/user/local/test.out # 在路径/home/user/local/下生成.out文件
./test.out   #运行

参考:

文章一 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/182360.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • [排序算法]–冒泡排序的三种实现(Java)

    [排序算法]–冒泡排序的三种实现(Java)冒泡排序是非常好理解的,以从小到大排序为例,每一轮排序就找出未排序序列中最大值放在最后。设数组的长度为N:(1)比较前后相邻的二个数据,如果前面数据大于后面的数据,就将这二个数据交换。(2)这样对数组的第0个数据到N-1个数据进行一次遍历后,最大的一个数据就“沉”到数组第N-1个位置。(3)N=N-1,如果N不为0就重复前面二步,否则排序完成。以上就是冒泡排序的基本思想,按照这个定义很快就能写

    2022年6月22日
  • laravel 是怎么做到运行 composer dump-autoload 不清空 classmap 映射关系的呢?

    laravel 是怎么做到运行 composer dump-autoload 不清空 classmap 映射关系的呢?

    2021年10月22日
  • Vue(12)组件的组织结构和组件注册「建议收藏」

    Vue(12)组件的组织结构和组件注册「建议收藏」组件的组织通常一个应用会以一棵嵌套的组件树的形式来组织:例如,你可能会有页头、侧边栏、内容区等组件,每个组件又包含了其它的像导航链接、博文之类的组件。为了能在模板中使用,这些组件必须先注册以便

    2022年7月31日
  • C51单片机–定时器实验

    C51单片机–定时器实验定时器文章目录定时器一、将交通灯实验中数码管倒计时1s改为定时器实现二、引入矩阵键盘,可以对路口红绿灯变换时间进行设置一、将交通灯实验中数码管倒计时1s改为定时器实现这个代码感觉逻辑上没问题,实际仿真出来倒计时的1s感觉要比实际的慢,可能是由于单片机执行语句时也需要耗费时间实验仿真图如下代码如下(示例):#include<reg51.h>#include<intrins.h>#defineuintunsignedint#defineucharun

    2022年7月16日
  • 常见集群(Cluster)软件和技术解析

    常见集群(Cluster)软件和技术解析常见集群(Cluster)软件和技术解析

    2022年10月15日
  • 什么工厂前景好_干什么行业最赚钱

    什么工厂前景好_干什么行业最赚钱农村创业不少人近期开始关注一些加工厂项目,尤其是小型加工厂这几年在乡镇地区超级火的,这些项目成本低利润高,而且招人也容易。那么,在农村做什么小加工厂赚钱呢?下面一起来探讨下最有前景的小型工厂项目,都是一些适合在乡镇开的加工厂年赚百万不是问题,赶紧来了解下吧。最有前景的小型工厂做什么赚钱1、木炭加工木炭是生活最常用的燃料,木炭的用途非常广,可用于冶金行业、建筑行业、干燥行业、医用行业等。一般常见的木炭有果木炭,即用原木砍伐后经过燃烧与蒸馏等加工工序而成的燃料,它可用于家庭燃料,也可用于野外烧烤,是一

    2022年9月12日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号