码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • GCC基本使用


    请添加图片描述
    GCC(GNU Compiler Collection)是由 GNU 开发的编程语言编译器。 GCC最初代表“GNU C Compiler”,当时只支持C语言。 后来又扩展能够支持更多编程语言,包括 C++、Fortran 和 Java 等。 因此,GCC也被重新定义为“GNU Compiler Collection”,成为历史上最优秀的编译器, 其执行效率与一般的编译器相比平均效率要高 20%~30%。
    请添加图片描述

    1.预处理(Preprocessing)

    gcc -E test.c -o test.i
    
    • 1

    2.编译(Compilation)

    gcc -S test.i -o test.s
    
    • 1

    3.汇编(Assemble)

    gcc -c test.s -o test.o
    
    • 1

    4.链接(Linking)

    gcc -c test.s -o test.o
    
    • 1

    详情

    gcc -c -o 等参数的解释

    -o 用法:在 -o 后面输入自定义的文件名

    gcc  HelloWord.c -o  HelloWord
    
    
    # 这个HelloWord.c是目标文件,不是可执行文件,执行文件是自动生成的a.out 
    # 想修改a.out的名字为HelloWord,HelloWord是可执行文件
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    -c

    注意:第一步这里不生成一个可执行文件

    gcc -c HelloWord.c 
    
    # _这个HelloWord.c是目标文件,不是可执行文件,因为这里用到了-c,
    # 告诉gcc到汇编为止,不要进行链接。
    
    # _链接就是将目标文件、启动代码、库文件链接成可执行文件的过程,
    # 这个文件可被加载或拷贝到存储器执行。
    
    # _会生成一个HelloWord.o的文件
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    gcc HelloWord.o
    # 到第二步才会生成一个默认名为a.out的可执行文件。
    
    
    • 1
    • 2
    • 3

    如果想要修改默认的可执行文件名字,第二步这里替换为

    gcc HelloWord.o -o HelloWord
    # 生成一个名字为HelloWord的可执行文件
    
    
    
    • 1
    • 2
    • 3
    • 4

    gdb 调试程序

    推荐阅读

  • 相关阅读:
    Spring Security认证之登录表单配置
    卵清蛋白壳聚糖纳米粒的制备,OVA-CS纳米粒
    mPEG-Cholesterol,mPEG-CLS,甲氧基-聚乙二醇-胆固醇可用于脂质体制备
    Python从基础到项目实战——基础篇
    Docker 容器监控 - Weave Scope
    【js】-【贪心算法】-笔记
    lsof-文件监控常用命令
    全国碳排放权交易数据
    vim的使用快捷键之删除、复制、粘贴
    mybatis一级缓存、二级缓存的意义是什么?
  • 原文地址:https://blog.csdn.net/qq_40928870/article/details/128041912
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号