社区
C++ 语言
帖子详情
为什么高级语言要先编译成汇编语言……
kero77
2008-10-28 09:18:30
如题…… C++语言 编译的时候为什么不直接把高级语言的源代码直接编译成机器码,而中间要多一步汇编语言呢?
...全文
1328
14
打赏
收藏
为什么高级语言要先编译成汇编语言……
如题…… C++语言 编译的时候为什么不直接把高级语言的源代码直接编译成机器码,而中间要多一步汇编语言呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kero77
2008-10-28
打赏
举报
回复
结贴 给你分 …… 呵呵谢谢
Rainstorey
2008-10-28
打赏
举报
回复
拿典型的C++编译器来说 前端(语法检查+词法分析+代码生成(汇编语言)+优化器)+(Windows汇编器,Linux汇编器,HPC汇编器...)(生成平台相关的机器码)
这就是所谓的C++是跨平台的编译器,因为他有很多平台上的后端。共享前端。一套代码到处编译。
Java因为是混合型(编译+执行)于此类似,一套代码到处运行。OK?
kero77
2008-10-28
打赏
举报
回复
有没有 什么资料 可以推荐一下 让我看看 你说的 那写具体内容
kero77
2008-10-28
打赏
举报
回复
有没有 什么资料 可以推荐一下 让我看看 你说的 那写具体内容
zhuwanglove
2008-10-28
打赏
举报
回复
先译成汇编,可对其进行代码优化,提高速度等.并且可以分工处理,除低难度.
kero77
2008-10-28
打赏
举报
回复
楼上说的 机器码不同 什么意思啊? 应该是不同的操作系统理解机器码不同吧!
汇编器屏蔽了机器的差异 是什么意思
Rainstorey
2008-10-28
打赏
举报
回复
某些语言是一步到位的(高级语言-》二进制可执行程序)。但大多数是翻译成汇编语言后再编译成二进制码。这些编译器都分前端和后端。设计优良的后端可以给任何语言使用。比如Intel的后端就BC++和VC++再使用。这样设计可以大大简化编译器设计的难度,同时又可让设计者或高级用户观察编译器生成代码的质量。
kero77
2008-10-28
打赏
举报
回复
是从高级语言直接到机器码语言的编译 只是 难度上的问题吗?……
开心爸爸84
2008-10-28
打赏
举报
回复
因为每个机器码都不同,要做个编译器,那得做很多个机器的版本,不累死才怪呢,汇编器屏蔽了机器的差异而已
yshuise
2008-10-28
打赏
举报
回复
因为翻译汇编代码相对来说更简单。翻译成机器码,工作非常之繁琐,不知道汇编翻译成机器码的人用了多大的功夫啊?
帅得不敢出门
2008-10-28
打赏
举报
回复
已经有汇编到机器代码的转换程序了
为何不利用
直接把高级语言的源代码直接编译成机器码的话那要做高级语言到机器码之间的映射,你觉得容易实现么?
每个写编译器的都必须熟练机器码 这个不是在做重复劳动么
zlcs8921
2008-10-28
打赏
举报
回复
因为机器已经认识汇编语言了。
三文鱼也会飞
2008-10-28
打赏
举报
回复
由于汇编语言只是机器语言的符号化,虽说相对简单了,但是还是得要求人们学习相应的内部结构,对于复杂的内部结构,有很大一部分人还是无从着手的.所以就出现了高级语言,当程序员用高级语言指令写完源程序后,只需用编译器编译就可运行了.此时编译器所做的工作就是把高级语言指令翻译成汇编语言(机器语言).
yeah920
2008-10-28
打赏
举报
回复
这个。。。不了解。
伟福6000编译仿真器及使用说明
第一章 概述………………………………………………………………………………1 第二章 仿真器硬件 仿真头介绍 POD8X5XP 仿真头… …………………………………………………………………5 POD196KB/KC 仿真头…………………………………………………………………6 PODH8X5X 仿真头 ……………………………………………………………………7 POD520P 仿真头………………………………………………………………………8 POD196MC/MD 仿真头…………………………………………………………………9 POD8051 仿真头………………………………………………………………………10 POD16C67XP 仿真头 …………………………………………………………………10 POD16C5XP 仿真头……………………………………………………………………11 PODLPC76X 仿真头……………………………………………………………………12 PODLPC93X 仿真头……………………………………………………………………12 POD87C52 仿真头 ……………………………………………………………………13 POD552 仿真头 ………………………………………………………………………13 仿真器介绍 仿真器介绍……………………………………………………………………………14 E6000L/E6000T/E6000S 型仿真器 …………………………………………………15 G6W 型仿真器…………………………………………………………………………16 K51L/K51T/K51S 型仿真器 …………………………………………………………17 H51L/H51T/H51S 型仿真器 …………………………………………………………17 LPC76X 型仿真器 ……………………………………………………………………17 LPC93X 型仿真器 ……………………………………………………………………17 P51 型仿真器…………………………………………………………………………18 PIC6000 型仿真器……………………………………………………………………18 第三章 软件安装 WINDOWS 版本软件安装………………………………………………………………19 编译器安装…………………………………………………………….…………………20 第四章 开发环境 菜单 | 文件………………………………………………………………………………21 菜单 | 编辑………………………………………………………………………………25 菜单 | 搜索………………………………………………………………………………25 菜单 | 项目………………………………………………………………………………26 菜单 | 执行………………………………………………………………………………26 菜单 | 窗口………………………………………………………………………………28 0 目录 0 伟福 目录 ii 南京伟福实业有限公司 ® 菜单 | 外设………………………………………………………………………………34 菜单 | 仿真器……………………………………………………………………………35 仿真器 | 仿真器设置………………………………………………………. ………35
语言
设置………………………………….………………………………………35 目标文件设置…………………………………………….………………………36 仿真器设置………………………………………………………………….……36 通信设置……………………………………………………………………….…40 仿真器 | 跟踪器/逻辑分析仪设置 ………………………………………………40 仿真器 | 静态测试 …………………………………………………………………41 仿真器 | 设置文本编辑器 …………………………………………………………41 仿真器 | 设置汇编预定义符号 ……………………………………………………41 菜单 | 帮助………………………………………………………………………………41 快速入门 …………………………………………………………………………………42 伟福文本编辑器使用 ……………………………………………………………………48 PODH8X5X 使用说明……………………………………………………………………51 LPC 编程器使用 …………………………………………………………………………54 在Keil的uV2 集成环境中使用伟福仿真器……………………………………………57 如何用PODPIC67XP 仿真PIC16C711 芯片…………………
编译原理全部详细课件
编译原理全部详细课件 第一~十一章 第一章 引 论 1.1 什么是编译程序 编译程序:从功能上看,编译程序就是语 言翻译程序,它把
高级
语言
书写的程序翻 译成低级
语言
(汇编或机器
语言
)的等价 程序。 ………… …… ……
x86_32&64
汇编
语言
基础视频教程
本套视频教程主要讲x86_32与x86_64
汇编
语言
基础,从零开始主要对照c
高级
语言
进行讲解,讲了寄存器的使用、数据类型、变量声名与调用、函数调用约定、栈等新手难以理解的知识,因些本套教程非常适合x86
汇编
语言
入门人员,通过学习x86
汇编
语言
,深入理解操作系统底层原理,为日后学习其它
高级
技术打下基础。
汇编模拟题(附答案)
汇编期末考试模拟题 附答案 一、 项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题1分,共10分) 1. CPU发出的访问存储器的地址是( ) A. 物理地址 B.偏移地址 C.逻辑地址 D.段地址 2. 将
高级
语言
的程序翻译成机器码程序的实用程序是( ) A.编译程序 B.汇编程序 C.解释程序 D.目标程序 …… 1. 在8086/8088
汇编
语言
中,有五条串操作指令,其中搜索字符串指令的助记符是______。 2. 通常所说的计算机系统包括________和________两大部分。 …… 单项选择题(每小题1分,共10分) 1.A 2.A 3.C 4.B 5.C 6.B 7.B 8.A 9.C 10.A 二、填空题(每空1分,共20分) 1.SCAS ……
C
语言
课堂练习习题集及答案
C
语言
课堂练习习题集及答案 《C
语言
程序设计》自主学习检验题汇编 第一、二章 C程序与算法 单项选择题 1. 将
汇编
语言
编写的程序翻译成目标程序的程序是( ) A)解释 B)编译 C)汇编 D)目标 2. 不属于面向机器
语言
的是 ( ) A)符号
语言
B)二进制
语言
C)
汇编
语言
D)C
语言
3. 将
高级
语言
编写的程序翻译成目标程序的程序是()。 A)解释 B)编译 C)汇编 D)二进制 4. 不属于
高级
语言
的是()。 A)BASIC B)C C)ALGOL D)符号
语言
5. 程序段的基本结构中,不包含()。 A)函数结构 B)循环结构 C)顺序结构 D)分支结构 6、C
语言
源程序的最小单位是( )。 A、程序行 B、语句 C、函数 D、字符 7、以下说法正确的是( )。 A、 在C
语言
中,要调用的函数必须在main()函数中定义 B、 C
语言
程序总是从第一个定义的函数开始执行 C、 C
语言
程序中,main()函数必须放在程序的开始部分 D、 C
语言
程序总是从main()函数开始执行 8、以下对C
语言
描述中正确的是( )。 A、 C
语言
源程序中可以有重名的函数 B、 C
语言
源程序中要求每行只能书写一条语句 C、 C
语言
源程序中,注释可以出现在任何位置 D、 最小的C源程序中没有任何内容 9、对C
语言
源程序执行过程描述正确的是( )。 A、 从main() 函数开始执行,到main()函数结束 B、 从程序的第一个函数开始执行,到最后一个函数结束 C、 从main函数开始执行,到源程序的最后一个函数结束 D、 从第一个函数开始执行,到main函数结束。 …………………………
C++ 语言
64,637
社区成员
250,559
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章