首页

文章

从预处理、编译、汇编到链接,编译系统都作了哪些工作?使用哪些工具?生成了哪些文件?

发布网友 发布时间:2022-03-22 23:52

我来回答

1个回答

热心网友 时间:2022-03-23 01:21

这个问题可烦可简,可深可浅。
对于编译执行语言而言:
我所知的笼统过程有
(1)源代码==》目标代码==》可执行程序
(资源==》目标代码)

(2)源代码==》中间代码==》目标代码==》可执行程序
第(1)种一般的为低级汇编采用的模式,第一个主要步骤统称为Assembly(汇编),由“汇编程序”(或称汇编编译器)完成,其包含预处理操作,生成的主要文件是目标文件,当然在生成目的文件前还有许多辅助文件,一般会被“汇编程序”临时生成,用完即删除,不指定控制选项的话最终用户是看不到这些文件的,有哪些中间临时文件,用处是什么可以查看“汇编编译器”的帮助选项得到。第二个主要步骤就是link(链接),其将目标代码文件,链接库里的目标代码块整合为可执行代码,中间也临时生成一些中间文件,如映射文件等,同样可通过链接器的选项查看。
当然,在一些高级汇编里还会有资源编译器,其将各种资源转为(编译为)目标文件(作为链接器的输入)
第(2)种一般是高级语言采用的模式,但有些比较高级的直接跳过中间代码由源代码生成目标代码,其就跟(1)类似,只是此时第一个主要步骤不叫“汇编”而称compile(编译),低级汇编的步骤一“汇编”也可称”编译“。如果有中间代码生成,这中间代码就是汇编代码,此后续处理就同(1)了,此时的中间代码其实也就是临时文件中的一种。

概述:源代码到目标代码的过程通常称为编译,而目标代码到可执行程序的过程称问链接。
或将两个过程统称为代码的编译(全称应为编译连接),这涉及具体的语境,事实上编译器如VC的cl.exe若没有指定/c(只生产目标代码选项),其就是编译连接的统一过程(cl会调用相应的链接器),若指定,则只有编译过程(只生成目标代码而不链接称可执行程序)

上述编译执行类语言开发平台所开发生成的程序一般称为”非托管类程序“
而对于托管类程序(如.NET平台语言C#,VB.NET,JVM平台的java等)
其虽然也有编译过程,但其直接将源代码转为中间代码而不是目标代码(此时不是汇编代码更不是机器码,而是可被.NET或JVM引擎解释执行的代码)

可参看编译原理等相关教材,阿门。。。
特别精辟的个性签名(非常经典的个性句子) 特别经典的个性签名(非常惊艳的个性句子) 文艺范十足的个性签名(温柔治愈的个性签名句子) wps文字怎么设置每页头和尾 27岁的女人需要补充哪些营养元素 27岁该重视美容了吗?都可以用哪些方法好些呢? airpods连不上手机怎么回事 - 知百科 腰肌劳损能养好吗? 有一段相声讲的是原始人打猎,唱歌,学说话的,请问名字是什么? 个人征信逾期记录的修复攻略,手把手传授 抖音火山版在哪注销账号 注销账号方法介绍 支付宝怎么把余额宝冻结的钱转出来? 余额宝冻结金额怎么解冻? 支付宝余额锁定怎么解除?可以简单介绍一下吗? 母乳跟气血有关系吗 穿jk发朋友圈俏皮的文案 穿jk制服发朋友圈的文案 福鼎绿雪芽茶历史传说 福鼎太姥绿雪芽曾与武夷山名茶齐名 石蛙保护级别是多少? 是田螺吗?还是别的什么? 昆虫头上像丝一样的感觉器官是表示什么词语 感什么器什么的词语感x器x式的四字词语 三控开关怎么接线方法图片 独立IP和共享IP的区别以及各自的优势有哪些 什么是共享和独享IP、动态和静态IP、固定IP? 连接电脑的wifi如何查名称怎么查看电脑wifi 千变表情是什么意思? kmose正确使用方法? 单位高温防护欠缺致员工中暑如何对待 狗狗为什么爱看视频 360浏览器怎么设置倍速播放 ...先讲女主的灵魂飘荡了一段时间,然后重生,请问是那本? 拯救者散热器怎么开 电脑如何一键还原系统电脑一键还原怎么操作 神舟笔记本电脑怎么重新设置神舟战神bios恢复出厂设置 神舟电脑恢复出厂设置神舟战神怎么恢复原厂系统 水泥楼梯如何铺木楼梯 家里面楼梯是水泥的不想铺地毯或者地砖还能铺什么 楼梯的水泥台阶上可以铺地板革吗 手机腾讯会议共享屏幕播放视频没声 腾讯会议共享屏幕没声音怎么办 微信寄快递怎么取消订单_取消订单方法介绍 300兆宽带用什么路由器好? 请问高分子井盖具体材料有那些?谢谢 井盖骨架有哪些材料 ...一个女主是空姐,她和男主第一次在去巴黎飞机上相遇,约定如果三次... 找一部电影 记得结局是主角上了私人飞机,然后和空姐,可能是情人... 360借条怎么开通? 脚踝系红绳是什么意思 痤疮 痘痘 黑头 粉刺必看的终结绿色治疗 汇编器和链接器如何对段进行管理? 汇编器的介绍 预处理器做了什么?2.编译器做了什么?3.汇编器做了什么?4.链接器做了什么 嵌入式软件中GCC编译,汇编,链接,调试的作用 dsp 汇编器与链接器 汇编器和连接器区别 简述一下编译器和链接器的作用? 老人机来电提示打开。来电时没声音。 老年机打电话没声音 为什么老年机来电没声音? 老人手机接电话时没有声音是怎么回事老年机来电没有声音,拨出去没有嘟嘟声音,但是能接打电话? 老人手机接电话时没有声音是怎么回事老年机来电没有声音,拨出去没有嘟嘟声音,但是能接打电话,_问一问 老年机打电话为什么听不到对方说话的声音? 老年机突然没有声音了怎么办 为什么老年机来电没声音 苹果手机设了黑名单后怎么查这个号码有没有打来过? 苹果手机对方把你手机号拉黑名单了发短信给他,他能看到吗? 苹果怎么看拦截了那些电话 怎么查询iPhone里被阻止来电的号码? 苹果手机能查到被拦截的电话吗 汇编器、编译器、编辑器 汇编器和编译器有什么区别 谁知道链接器做什么 汇编器所要完成的任务 汇编编译器的工作和生成可执行文件的执行过程是怎样的 编译器 链接器 计算机 汇编语言 机器语言 汇编语言的功能? 电脑里自带汇编编译器和连接器吗? linux下链接过程中编译器会做哪些工作 汇编语言里的编写、汇编、连接、调试、仿真都是什么意思?谢谢🌹 编译器的功能是什么 华为mate20个人热点怎么连接 华为mate20如何打开热点 mate20个人热点在哪里设置 华为mate20热点怎么打开热点 华为mate20个人热点怎么打开 华为mate20pro怎么开热点 华为mate20pro热点怎么开 华为mate20pro个人热点在哪里 华为mate20热点在哪里打开
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com