c语言 链接器 原理,新手向的链接器知识普及/////就是这样的说

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

链接器(英语:Linker),又译为链结器、连结器,是一个程序,将一个或多个由编译器或汇编器生成的目标文件外加库链接为一个可执行文件。在 IBM大型主机比如OS/360上,链接器是 linkage editor;在 Unix-like 系统上常用的链接器是 GNU ld。目标文件是包括机器码和链接器可用信息的程序模块。简单的讲,链接器的工作就是解析未定义的符号引用,将目标文件中的占位符替换为符号的地址。链接器还要完成程序中各目标文件的地址空间的组织,这可能设计重定位工作。大多数现代操作系统都提供静态链接和动态链接两种形式。 -------围鸡白磕

一个现代编译器的主要工作流程如下: 源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 汇编程序 (assembler) → 目标代码 (object code) → 链接器 (Linker) → 执行档 (executables) -------依然围鸡白磕

上面的这个主要是先科普下连接器到底是什么..下面开始正题

首先 目标文件object code

它一般由机器代码或接近于机器语言的代码组成。[1]目标文件(英语:object file)即存放目标代码的计算机文件,它常被称作二进制文件(binaries)。-------还是围鸡白磕

目标文件主要有 可重定位目标文件 可执行目标文件 共享目录文件

可重定位目标文件 包含2进制代码和数据 可在编译时与其他可重定位目标文件合体创建可执行的目标文件(感觉上是.obj ?实际使用IDE的同学一般是不会得到这个东西的吧.我没深入调查有兴趣的同学可以自己调查一番..)

可执行目标文件 同样包含2进制代码和数据

但是已经可以直接执行了(用windows的下新手的感觉就是exe么 当然这个我也没调查)

共享目录文件 一种特殊类型的可重定位目标文件(对 他应该是可重定位目标文件但是很特殊)可以在加载或者运行时被动态的加载到存储器并且链接

对于连接器是怎么把不同文件的东西让他合体的...

下面将会有描述了哦

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值