汇编语言与C C++ C# VB等语言有什么区别?主要面向作用什么?

作者&投稿:轩菡 (若有异议请与网页底部的电邮联系)
汇编语言与C C++ C# VB等语言有什么区别?主要面向作用什么?~

汇编语言是最基本的语言,是低级语言,如果再低一点就是机器码了,也就是0101这些,其实汇编就是把有意义的机器码集成起来,形成一套语言,可以说他是无敌的,因为可以直接跟硬件对话,但它又是最繁琐的,因为指令太基本。相比之下,c,c++,c#,vb等都是高级语言,因为程序代码更像自然语言,但他们的效率比汇编要差,因为他们需要编译,也就是需要有个翻译过程,这样计算机才能懂。c和c++应该一起说,可以说后者继承了前者的特性加入了面向对象的概念,他们俩应该是最为常见和功能最为强大的高级语言。然后是c#,他可以说有c和c++的影子,但是由于他完全的面向对象对象特性,很多人愿意将他看作一个全新的语言,但是实际上很多东西还是继承了c和c++的。vb就不多说了,也是一门高级语言,但个人认为,他的潜力远没有前面那几个大,而且现在感觉用的人越来越少,虽然他比较好学。
补充一下:楼上说学汇编没意义,我觉得不尽然,如果你想学习单片机之类的硬件技术,你必须掌握汇编,当然c语言也可以使用,但前者是基础。

汇编跟VB,C是两码事!
汇编语言是低级语言,而VB,C是高级语言!
所谓低级语言就是对计算机底层进行操作的计算机语言(又叫机器语言就像0101码之类的),往往是对硬件进行操作。比较难学!
而高级语言是更接近与我们理解的语言,往往是对操作系统或软件进行操作!
如果你要学低级语言(除非你是专业的,要不然学了也没用,估计你的意思也不是学低级语言)就去学汇编。
高级语言在我们日常生活中接触的很多,更实用。象游戏,应用软件,网页,操作系统等都是高级语言编出来的。
要学习高级语言就先学习C语言,是高级语言的基础,而且比较简单易学(可能刚接触是有点不理解,但学完一两章之后就会豁然开朗了!),而且时间也不要太多。学会了C,日后学C++,JAVA,C#之类更高级的语言就很容易上手了!
可以下电子书学,也可以买书,有的是这种资源!

汇编语言(AssemblyLanguage)是面向机器的程序设计语言。在汇编语合中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。于是汇编语言亦称为符号语言。使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理系统软件。汇编程序把汇编语言翻译成机器语言的过程称为汇编。中国著名计算机科学教育家王爽写过一本名叫《汇编语言》的书。 汇编语言是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。汇编语言,作为一门语言,对应于高级语言的编译器,需要一个“汇编器”来把汇编语言原文件汇编成机器可执行的代码。高级的汇编器如MASM,TASM等等为我们写汇编程序提供了很多类似于高级语言的特征,比如结构化、抽象等。在这样的环境中编写的汇编程序,有很大一部分是面向汇编器的伪指令,已经类同于高级语言。现在的汇编环境已经如此高级,即使全部用汇编语言来编写windows的应用程序也是可行的,但这不是汇编语言的长处。汇编语言的长处在于编写高效且需要对机器硬件精确控制的程序。
  大多数情况下Linux程序员不需要使用汇编语言,因为即便是硬件驱动这样的底层程序在Linux操作系统中也可以用完全用C语言来实现,再加上GCC这一优秀的编译器目前已经能够对最终生成的代码进行很好的优化,的确有足够的理由让我们可以暂时将汇编语言抛在一边了。但实际情况是Linux程序员有时还是需要使用汇编,或者不得不使用汇编,理由很简单:精简、高效和libc无关性。假设要移植Linux到某一特定的嵌入式硬件环境下,首先必然面临如何减少系统大小、提高执行效率等问题,此时或许只有汇编语言能帮上忙了。
优点与缺点
优点
  汇编语言直接同计算机的底层软件甚至硬件进行交互,它具有如下一些优点:
  (1)能够直接访问与硬件相关的存储器或I/O端口;
  (2)能够不受编译器的限制,对生成的二进制代码进行完全的控制;
  (3)能够对关键代码进行更准确的控制,避免因线程共同访问或者硬件设备共享引起的死锁;
  (4)能够根据特定的应用对代码做最佳的优化,提高运行速度;
  (5)能够最大限度地发挥硬件的功能。
缺点
  同时还应该认识到,汇编语言是一种层次非常低的语言,它仅仅高于直接手工编写二进制的机器指令码,因此不可避免地存在一些缺点:
  (1)编写的代码非常难懂,不好维护;
  (2)很容易产生bug,难于调试;
  (3)只能针对特定的体系结构和处理器进行优化;
  (4)开发效率很低,时间长且单调。
特点
  汇编语言比机器语言易于读写、调试和修改,同时具有机器语言全部优点。但在编写复杂程序时,相对高级语言代码量较大,而且汇编语言依赖于具体的处理器体系结构,不能通用,因此不能直接在不同处理器体系结构之间移植。
  汇编语言的特点:
  1.面向机器的低级语言,通常是为特定的计算机或系列计算机专门设计的。
  2.保持了机器语言的优点,具有直接和简捷的特点。
  3.可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等。
  4.目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。
  5.经常与高级语言配合使用,应用十分广泛。
  对于不同型号的计算机,有着不同的结构的汇编语言
  汇编语言由于采用了助记符号来编写程序,比用机器语言的二进制代码编程要方便些,在一定程度上简化了编程过程。汇编语言的特点是用符号代替了机器指令代码,而且助记符与指令代码一一对应,基本保留了机器语言的灵活性。使用汇编语言能面向机器并较好地发挥机器的特性,得到质量较高的程序。
  汇编语言是面向具体机型的,它离不开具体计算机的指令系统,因此,对于不同型号的计算机,有着不同的结构的汇编语言,而且,对于同一问题所编制的汇编语言程序在不同种类的计算机间是互不相通的。
  汇编语言中由于使用了助记符号,用汇编语言编制的程序输入计算机,计算机不能象用机器语言编写的程序一样直接识别和执行,必须通过预先放入计算机的"汇编程序"中进行加工和翻译,才能变成能够被计算机直接识别和处理的二进制代码程序。用汇编语言等非机器语言书写好的符号程序称为源程序,运行时汇编程序要将源程序翻译成目标程序。目标程序是机器语言程序,当它被安置在内存的预定位置上,就能被计算机的CPU处理和执行。
  汇编语言像机器指令一样,是硬件操作的控制信息,因而仍然是面向机器的语言,使用起来还是比较繁琐费时,通用性也差。但是,汇编语言用来编制系统软件和过程控制软件,其目标程序占用内存空间少,运行速度快,有着高级语言不可替代的用途。
应用
  汇编语言作为最基本的编程语言之一,汇编语言虽然应用的范围不算很广,但重要性却勿庸置疑,因为它能够完成许多其它语言所无法完成的功能。就拿Linux内核来讲,虽然绝大部分代码是用
C语言编写的,但仍然不可避免地在某些关键地方使用了汇编代码,其中主要是在Linux的启动部分。由于这部分代码与硬件的关系非常密切,即使是C语言也会有些力不从心,而汇编语言则能够很好扬长避短,最大限度地发挥硬件的性能。
  1.70%以上的系统软件是用汇编语言编写的。
  2.某些快速处理、位处理、访问硬件设备等高效程序是用汇编语言编写的。
  3.某些高级绘图程序、视频游戏程序是用汇编语言编写的。
  汇编语言是理解整个计算机系统的最佳起点和最有效途径,人们经常认为汇编语言的应用范围很小,而忽视它的重要性。其实汇编语言对每一个希望学习计算机科学与技术的人来说都是非常重要的,是不能不学习的语言。所有可编程计算机都向人们提供机器指令,通过机器指令人们能够使用机器的逻辑功能。所有程序,不论用何种语言编制,都必须转成机器指令,运用机器的逻辑功能,其功能才能得以实现。机器的逻辑功能,软件系统功能构筑其上,硬件系统功能运行于下。汇编语言直接描述机器指令,比机器指令容易记忆和理解。通过学习和使用汇编语言,能够感知、体会、理解机器的逻辑功能,向上为理解各种软件系统的原理,打下技术理论基础;向下为掌握硬件系统的原理,打下实践应用基础。学习汇编语言,向上可以理解软件,向下能够感知硬件,是我们理解整个计算机系统的最佳起点。

汇编针对底层硬件,因为汇编指令可以直接翻译成机械指令
C/c++都可以操控底层,c是汇编的升华,作底层开发的时候用
c++ c# vb都属于高级语言,就是说可以脱离底层,一般语言开发(写应用程序)都使用高级语言
c++主要写游戏等要求苛刻的软件,但是由于写起来麻烦,大型软件应用一般都用java,运行速度较慢
vb封装性也高,但是一般不用于大软件开发,小软件可以实现较快开发速度
c#和.net等一起用,作为网络应用(和VB联系)和大型软件开发


魏县19265914792: 汇编语言与C C++ C# VB等语言有什么区别?主要面向作用什么? -
住郑尤尼: 汇编语言(AssemblyLanguage)是面向机器的程序设计语言.在汇编语合中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码.这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言.于是...

魏县19265914792: C,C++,C#,VB,汇编语言到底有什么区别?各适用与那种编程?我学过VB,现在应该学那种好? -
住郑尤尼: 汇编是最老的语言 但是是执行效率最高的,适合计算机专业的学生学. c,VB都是面向过程的语言 是高级语言. c++,java是面向对象的语言 是将来语言发展的趋势,(其实以后都会用这种,直到有更高级的智能语言出现)你学过Vb就直接学c++或java(要学J2EE)好了

魏县19265914792: 汇编语言与C C++ C# VB等语言有什么区别?主要面向作用什么?
住郑尤尼: 汇编针对底层硬件,因为汇编指令可以直接翻译成机械指令 C/c++都可以操控底层,c是汇编的升华,作底层开发的时候用 c++ c# vb都属于高级语言,就是说可以脱离底层,一般语言开发(写应用程序)都使用高级语言 c++主要写游戏等要求苛刻的软件,但是由于写起来麻烦,大型软件应用一般都用java,运行速度较慢 vb封装性也高,但是一般不用于大软件开发,小软件可以实现较快开发速度 c#和.net等一起用,作为网络应用(和VB联系)和大型软件开发

魏县19265914792: VB C C++ C# 汇编语言 他们有什么不同,以后和从事什么事业
住郑尤尼: 计算机语言发展是这样地:机器语言,汇编语言,vb c c++ c# 由低到高的发展过程,当初的目的是为了更容易操作计算机,但后来,计算机应用变得广泛,发现这些语言们在不同的领域具备不同的能力,有的搞底层软件比较好用,比较容易,有的搞上层的比较好使还快,这时候它们被选择儿分工了. 前两者学的人不多了,不推荐学,,vb还可以,c c++搞底层不错.c#已经成web开发的代言了 就这样,都是微软的东东

魏县19265914792: c#结合汇编以及c++结合汇编哪个比较好呢? -
住郑尤尼: 如果已经是一个汇编高手,当然是哪个都行,然后哪个用着熟练哪个好.或者说,直接使用汇编环境更好.汇编语言的混合编程,目的是实现一些高级语言无法解决的问题或者高级语言效率比较低的问题.如果单纯从语言比较,C++的灵活性更高,做混合编程更方便一些.

魏县19265914792: 请教高手,,,c语言,,C++,,汇编语言,,,VB这几个有什么区别? -
住郑尤尼: C语言早于C++语言,并且C++继承了C的好多东西,不同的是C++引入了类和包的概念,并且C++编程用的这两类也比较多;C语言编译为可执行文件的过程中要经过汇编的过程,也就是说汇编相对于C更贴近于计算机能够识别、运行的代码;...

魏县19265914792: 汇编语言和一般用C语言、java、vb等编写的语言有什么区别 -
住郑尤尼: 汇编语言是低级语言,机器可识别 C、Java、VB是高级语言,需要进行编译 VB是解释性语言,C是编译型语言 Java需要虚拟机 编写系统软件推荐C和汇编混编 编写应用程序就拿Java和VB吧 VB对Windows的API进行了封装,窗体可以直接生成,大大简化了开发效率,但是运行效率是很低的,而且离开了Windows就挂了

魏县19265914792: C++ 、 汇编语言、VC++ 、C语言之间的区别 -
住郑尤尼: 你好1.区别 由语言的抽象程度从低到高为: 机器语言 -> 汇编语言 -> C语言 -> C++ 抽象程度越低,越接近底层硬件,抽象程度越高,越面向应用、界面显示 VC++是微软开发的C++语言开发环境,不属于语言范畴,类似的开发环境还有Borland ...

魏县19265914792: '汇编语言'和'c/c++语言'及'Java语言'其各自的优点是什么? -
住郑尤尼: 这三种语言是随着时间 相继产生的 汇编语言->c/c++语言->Java语言 可以说汇编语言现在用的很少,它常用于低层驱动开发 比如编译器之类的系统软件,计算机加密、解密也常用的汇编语言 ,一些技术牛人常用这些,汇编语言抽象、难懂,与...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网