gcc常用命令_C语言编译过程几个步骤

gcc常用命令_C语言编译过程几个步骤常用选项一个c文件要经过如下处理才能变成可执行文件Step1:预编译gcc-E-ohello.ihello.cStep2:编译gcc-S-ohello.shello.iStep3:汇编gcc-c-ohello.ohello.sStep4:连接gcc-ohellohello.o如果要一步到位gcc-ohellohello.c…

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

Jetbrains全系列IDE稳定放心使用

常用选项
在这里插入图片描述
一个c文件要经过如下处理才能变成可执行文件
在这里插入图片描述

Step1:预编译 gcc -E -o hello.i hello.c
Step2:编译   gcc -S -o hello.s hello.i
Step3:汇编   gcc -c -o hello.o hello.s
Step4:链接   gcc -o hello hello.o

如果要一步到位

gcc -o hello hello.c

下面看下每一步生成的文件长什么样

Step1:预编译 gcc -E -o hello.i hello.c

在这里插入图片描述
可以看到最后把宏展开,头文件加入等
在这里插入图片描述

Step2:编译 gcc -S -o hello.s hello.i

在这里插入图片描述
在这里插入图片描述
可以看到编程了汇编语言

Step3:汇编 gcc -c -o hello.o hello.s

在这里插入图片描述
在这里插入图片描述
变成了而二进制文件

Step4:链接 gcc -o hello hello.o

在这里插入图片描述
最后的文件就是再该平台上的可执行文件(我这里取名了个sh后缀)

一步到位的话
在这里插入图片描述

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

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

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


相关推荐

  • js 的forEach 如何跳出循环「建议收藏」

    js 的forEach 如何跳出循环「建议收藏」forEach()方法用于调用数组的每个元素,并将元素传递给回调函数。对于空数组不会执行回调函数回调函数的参数function(currentValue,index,arr)currentValue必需。当前元素index可选。当前元素的索引值…

    2022年6月4日
    128
  • 图文并茂 RAID 技术全解 – RAID0、RAID1、RAID5、RAID10

    图文并茂 RAID 技术全解 – RAID0、RAID1、RAID5、RAID10    RAID技术相信大家都有接触过,尤其是服务器运维人员,RAID概念很多,有时候会概念混淆。这篇文章为网络转载,写得相当不错,它对RAID技术的概念特征、基本原理、关键技术、各种等级和发展现状进行了全面的阐述,并为用户如何进行应用选择提供了基本原则,对于初学者应该有很大的帮助。一、RAID概述  1988年美国加州大学伯克利分校的D.A.Patterson教授等首次…

    2022年7月15日
    24
  • 优先级队列(Priority Queue)「建议收藏」

    优先级队列(Priority Queue)「建议收藏」优先级队列(PriorityQueue)注:队列是一种特征为FIFO的数据结构,每次从队列中取出的是最早加入队列中的元素。但是,许多应用需要另一种队列,每次从队列中取出的应是具有最高优先权的元素,这种队列就是优先级队列(PriorityQueue),也称为优先权队列。1.优先级队列的概念1.1优先级队列的定义优先级队列是不同于先进先出队列的另一种队列。每次从队列中取出的是具有最高优先权的元素。

    2022年4月19日
    58
  • 架构 Roadmap 笔记分享 (2015 年)

    架构 Roadmap 笔记分享 (2015 年)

    2021年11月24日
    46
  • JS break和continue的区别

    JS break和continue的区别break和continue都是用来控制循环结构的,主要是停止循环。break       有时候我们想在某种条件出现的时候终止循环而不是等到循环条件为false才终止。  这时我们可以使用break来完成。break用于完全结束一个循环,跳出循环体执行循环后面的语句。for(vari=0;i<5;i++){if(i%2!=0){break;//结束…

    2022年5月5日
    67
  • vue django mysql_Python MySQL

    vue django mysql_Python MySQL工作之余断断续续根据网上找到的教程进行环境搭建,搭建了多个。但是一直没有一个整体概念,到底该先做什么,后做什么,操作一步后,结果应该是怎样另外,网上的教程都是直接用命令行操作,用pycharm又应该怎么弄呢环境搭建好以后,应该怎么分目录结构,应该先从哪里的代码开始写,写了以后,又需要做哪些配置这些问题一直困扰着我,所以我决定边学边记录整理。也希望能帮助同为初学者的你少走一些…

    2022年8月28日
    4

发表回复

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

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