关于编译原理的问题

1.用编译软件将高级语言进行编译后是得到汇编指令还是机器语言?(比如C语言用VC++编译的话)2.高级语言可移植性好是说移植程序源代码还是编译后的程序可以在多种平台上被执... 1.用编译软件将高级语言进行编译后是得到汇编指令还是机器语言?
(比如C语言用VC++编译的话)

2.高级语言可移植性好是说移植程序源代码还是编译后的程序可以在多种平台上被执行?

3.汇编编译比较常用的工具是什么?就是说调式汇编程序用什么工具比较好?

4.如何知道自己电脑是16还是32位的寄存器? 现在市面上的电脑大多数是几位的?

5.64位比32位有什么优势?有什么特点?

谢谢了!~
在线等答案~! 谢谢了!!!
展开
 我来答
atalentsoft
2009-04-03 · TA获得超过4989个赞
知道小有建树答主
回答量:690
采纳率:0%
帮助的人:0
展开全部
1.当然是机器语言了,如果是汇编指令,那还得编译一次!能运行的程序都是机器语言,只有机器语言才能控制CPU,NET或Java这些中间语言,程序在运行时会被CLR或JVM快速编译成机器语言,因此这些程序速度上有损失。

高级语言源代码(文本)-通过编译器(compiler)-程序(二进制机器语言)
汇编代码(文本)-通过汇编器(assembler)-程序(二进制语言)

看到这里,你可能会想那汇编语言到底有什么用呢,编译器完全能代替汇编啊?
(1).编译器是通过高级语言(c,c++)转到机器语言的。转换过的机器语言受限与高级语言,效率和功能上都有限制。比如c不等过分操作内存。但通过汇编器转化过来的机器语言,效率高,且用汇编语言,直接和CPU对话!
(2).汇编可以反汇编(逆向编译),而这里高级语言没有发言权,就是:
程序(二进制机器语言)-通过反汇编器(compiler)-可转化为汇编代码(文本)
但永远不能转化为高级语言的源代码,。
以上两点汇编存在的重要性。

2。当然是说移植源代码。windows用x86机器语言,苹果用powerPC机器语言,windows程序当然不能运行在苹果机上,因为程序其实就是一串机器语言!但windows上有c的编译器(vc++),苹果机上也有c编译器(gcc),因此同一个c的源代码,当然就可以通过不同平台的同一种编译器实现平台移植。

3.当然是NASM,我看的所有书都首先说NASM,他是开源的,就像Linux一样,很受欢迎,还有MASN是微软的,borland的也有汇编器,不过都不常见了。

4.这跟CPU有关,一般32位x86兼容的cpu有许多寄存器,多数是32位的,也有16位的。比如CS,ES,DS这些segment寄存器一直是16位的。

5.优势太多了,这和32位和16位存在的优势一样,16位电脑最大内存1MB,寄存器都是16位的。32位,最大内存可以有4GB,整整是16位的4096倍啊!16位多渺小啊,同理64位基本上也可以蔑视32位,64内存最大内存用TB来衡量,寄存器多数是64位!地址总线也是64位。64对32位没有什么优势劣势可言,64位完全就是32位的下一代。
秒懂百科
2021-03-13 · TA获得超过5.9万个赞
知道大有可为答主
回答量:25.3万
采纳率:88%
帮助的人:1.3亿
展开全部

编译原理:计算机专业的一门重要专业课

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sanjinluo
2009-04-03 · TA获得超过4715个赞
知道大有可为答主
回答量:3402
采纳率:0%
帮助的人:2420万
展开全部
1 先得到汇编语言,再生产机器语言

2 是因为源码比较容易理解,所以好移植,而不是编译后的语言,【常说的高级语言是C和C++】

3 一般的开发平台都会内部有编译器,用高级语言开发者,一键就可以生产最后的机器语言,一般不用理解它是什么
对于单片机来说:51系列的目前常用的是KEILC
PIC单片机是用PLCC
MSP430单片机是用IAR的比较多
所以选什么开发平台就看你是在做那个方面的设计了
4 目前的电脑一般是32位和64位的,16位的电脑这个时代估计是找不着了

5 64位是指数据总线的宽度,优势就是进行复杂的运算是速度更快
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式