linux的gcc命令_Linux全套视频

linux的gcc命令_Linux全套视频   GCC原名为GNUC语言编译器(GNUCCompiler),因为它原本只能处理C语言。GCC很快地扩展,变得可处理C++。后来又扩展为能够支持更多编程语言,如Fortran、Pascal、Objective-C、Java、Ada、Go以及各类处理器架构上的汇编语言等,所以改名GNU编译器套件(GNUCompilerCollection)。 gcc命令下各选项的…

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

Jetbrains全系列IDE稳定放心使用

     GCC 原名为 GNU C 语言编译器(GNU C Compiler),因为它原本只能处理C语言。GCC 很快地扩展,变得可处理 C++。后来又扩展为能够支持更多编程语言,如Fortran、Pascal、Objective-C、Java、Ada、Go以及各类处理器架构上的汇编语言等,所以改名GNU编译器套件(GNU Compiler Collection)。 

gcc命令下各选项的含义

 

  • -E:仅作预处理,不进行编译、汇编和链接
  • -S:仅编译到汇编语言,不进行汇编和链接
  • -c:编译、汇编到目标代码(也就是计算机可识别的二进制)
  • -o:执行命令后文件的命名
  • -g:生成调试信息
  • -w:不生成任何警告
  • -Wall:生成所有的警告

gcc编译的四个步骤 

  1. 预处理:gcc -E Test.c -o Test.i
  2. 编译:    gcc -S Test.i -o Test.s
  3. 汇编:    gcc -c Test.s -o Test.o
  4. 链接生成可执行文件: gcc Test.o -o Test

简单程序的编译过程

 1. 先创建一个Test.c文件

    linux的gcc命令_Linux全套视频

2.逐步编译

   ①预处理:

                   linux的gcc命令_Linux全套视频

                     此时我们发现目录中已经出现了我们创建的Test.i文件,不妨cat进去看一下里面都有什么吧:

                     linux的gcc命令_Linux全套视频

                   由此我们发现:gcc的-E选项,可以让编译器在预处理后停止,并输出预处理结果

                   在此程序中中,预处理结果就是将stdio.h 文件中的内容插入到Test.c中了。

   ②编译:

                 linux的gcc命令_Linux全套视频

                    gcc的-S选项,表示在程序编译期间,将我们的代码编译成汇编语言。

    ③汇编:

                 linux的gcc命令_Linux全套视频

                   gcc的-c选项,表示由汇编器负责将刚才的.s文件编译为目标文件,即计算机所能识别的序列。

      ④链接生成可执行文件: 

                linux的gcc命令_Linux全套视频

                  将刚才的Test.o文件与C标准输入输出库进行连接,最终生成程序Test可执行文件。

3.运行程序

               linux的gcc命令_Linux全套视频

               

 这里我们就完成了从最开始的代码,到最终可执行文件的整个过程。

  

 

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

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

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


相关推荐

  • mipi协议中文详解

    mipi协议中文详解https://blog.csdn.net/weixin_39558208/article/details/77067735一、MIPIMIPI(移动行业处理器接口)是MobileIndustryProcessorInterface的缩写。MIPI(移动行业处理器接口)是MIPI联盟发起的为移动应用处理器制定的开放标准。已经完成和正在计划中的规范如下:二、MIPI联盟的MIPID…

    2022年4月29日
    131
  • mac如何安装pip_mac怎么卸载python

    mac如何安装pip_mac怎么卸载pythonmac下直接安装pip和卸载pip的方法如下:1、pip的安装:输入sudoeasy_installpip就可以安装pip了。验证pip安装是否成功:输入:pip结果找不到文件。尝试输入:pip3-V或者pip3则说明已经安装成功了。2、pip的卸载:输入命令:sudopipuninstallpip然后输入密码后如下图:输入y,回车。即要卸载pip,再次用pip-V或者pip显示已经找不到文件,即卸载成功了。卸载不再做图片演示。注意:输入p

    2022年10月7日
    5
  • 分析微商分销系统的缺陷

    分析微商分销系统的缺陷微商时代下,微商系统也十分受欢迎,笔者之前在网上浏览过许多关于微商分销系统的文章,大多都在谈论微商分销系统怎么怎么好用,却很少有提及其中的缺陷。那今天笔者就想和大家伙谈谈微商分销系统有什么缺陷?以三级分销为例,先来了解下微商分销系统的规则。理想的结构是这样的:总部发展A分销商,A-发展二级B,B-发展三级C。好了,A收到BC的提成,B收到C的提成,C纯赚差价利润。理想的设计往…

    2022年5月13日
    38
  • 手把手教你获取x信本地数据库(利用Sqlcipher查看)

    手把手教你获取x信本地数据库(利用Sqlcipher查看)最近一直在研究Xposed等一些hook框架,进行学习做一些demo,这次就正好拿x信练练手,学习学习,也可以学习x信手机本地数据库的表结构设计等。好,废话不多说,直接开干。前提是你的电脑已经安装了adb相关程序,如果你本身就是安卓开发者,想必肯定安装了AndroidStudio,那里直接就有adb相关程序。其次,你准备一台已经root过的安卓手机(要安装的有使用过的x信应用,不

    2025年8月22日
    3
  • StringUtils工具类常用方法「建议收藏」

    StringUtils工具类常用方法「建议收藏」StringUtils类在操作字符串是安全的,不会报空指针异常,也正因此,在操作字符串时使用StringUtils相比使用原生的String会更加安全。一、判空StringUtils提供常用的判断空字符串有两个方法:isEmpty和isBlank,这两者的有何区别呢,直接看源码://isEmptypublicstaticbooleanisEmpty(Stringstr)…

    2022年6月11日
    37
  • jQuery对话框右上角带关闭×

    jQuery弹出可关闭遮罩层:http://hovertree.com/texiao/layer/1/代码如下:转自:http://hovertree.com/h/bjaf/tishiceng.ht

    2021年12月23日
    41

发表回复

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

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