news 2026/8/26 16:56:56

linux开发编译与链接

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
linux开发编译与链接
目录
  • 编译与链接
    • GCC
      • 命令格式
      • gcc主要执行步骤
        • 编译
        • 汇编(as)
        • 链接(ld)
      • GCC涉及的文件类型
    • ELF
      • ELF简介
      • ELF文件格式
      • ELF文件处理相关工具

编译与链接

GCC

GCC(GNU Compiler Collection)

GCC, the GNU Compiler Collection - GNU Project

由 GNU开发的,遵循 GPL 许可证发行的编译器套件

支持 C、C++、Objective-C、Fortran、Ada 和 Go 语 言等多种语言前端,已被移植到多种计算机体系架构 上,如 x86、ARM、RISC-V 等

GCC 的初衷是为 GNU 操作系统专门编写一款编译器, 现已被大多数 “Unix-like”操作系统(如 Linux、BSD、MacOS 等)采纳为标准的编译器

命令格式

gcc [options] [filenames]

gcc主要执行步骤

编译

(cc1,这里针对 C 语言,不同的语言有自 己的编译器):编译器完成 “预处理” 和 “编 译”,“预处理” 指处理源文件中以 “#” 开 头的预处理指令,譬如 #include、#define 等; “编译” 则针对预处理的结果进行一系列的词法分析、语法分析、语义分析,优化后生成汇 编指令,存放在 .o 为后缀的目标文件中

汇编(as)

汇编器将汇编语言代码转换为机 器(CPU)可以执行的指令

链接(ld)

链接器将汇编器生成的目标文件 和一些标准库(譬如 libc)文件组合,形成最 终可执行的应用程序

GCC涉及的文件类型

.c:C 源文件

.cc/.cxx/.cpp:C++ 源文件

.i:经过预处理的 C 源文件

.s/.S:汇编语言源文件

.h:头(header)文件

.o:目标(object)文件

.a/.so:编译后的静态库(archive)文件和共享库 (shared object)文件

a.out:可执行文件

ELF

ELF简介

ELF(Executable Linkable Format)是一种 Unix-like 系统上的二进制文件格式标准

ELF 标准中定义的采用 ELF 格式的文件分为 4 类:

ELF文件格式

ELF文件处理相关工具

Binutils:https://www.gnu.org/software/binutils/

ar:归档文件,将多个文件打包成一个大文件

as:被 gcc 调用,输入汇编文件,输出目标文件供链接器ld连接

ld:GNU 链接器。被 gcc 调用,它把目标文件和各种 库文件结合在一起,重定位数据,并链接符号引用

objcopy:执行文件格式转换

objdump:显示 ELF 文件的信息

readelf:显示更多 ELF 格式文件的信息(包括 DWARF 调试信息)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/22 4:48:03

30岁转行AI大模型:零基础入门、实战项目与面试全攻略,刚好赶上风口!非常详细收藏我这一篇就够

文章讲述作者30岁从传统行业转行AI大模型的经历。他通过自学Python、机器学习及深度学习,专攻Transformer架构和大模型微调,开发项目积累实战经验。半年后成功获得AI算法工程师职位,薪资提升50%。文章强调AI大模型领域人才缺口和就业前景&…

作者头像 李华
网站建设 2026/8/24 13:03:52

计算机Java毕设实战-基于springboot的高校毕业生就业信息管理系统基于springboot的毕业生就业系统【完整源码+LW+部署说明+演示视频,全bao一条龙等】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/8/24 10:02:03

全网最全专科生必备AI论文工具TOP10

全网最全专科生必备AI论文工具TOP10 2026年专科生AI论文工具测评:为何需要一份精准榜单? 随着人工智能技术的不断进步,越来越多的专科生开始借助AI工具提升论文写作效率。然而,面对市场上五花八门的AI论文工具,如何选…

作者头像 李华
网站建设 2026/8/22 3:00:50

我把测试报告嵌入PR评论,开发打开就能看结果

测试报告嵌入PR评论的价值与背景 在敏捷开发和DevOps实践中,Pull Request(PR)是代码审查的核心环节。传统测试报告往往以附件或外部链接形式存在,导致开发者需切换上下文查看结果,降低效率。将测试报告直接嵌入PR评论…

作者头像 李华
网站建设 2026/8/21 20:01:21

‌TestOps实战:如何让测试不再“拖后腿”

测试不再是“守门员”,而是“交付加速器”‌ 在2026年的软件交付体系中,测试团队若仍依赖手动回归、Excel用例、孤立环境,将不可避免地成为交付瓶颈。‌TestOps的本质,是通过文化重塑、工具智能化与流程自动化,将测试…

作者头像 李华