当前位置:首页 » 编程语言 » c语言与汇编

c语言与汇编

发布时间: 2022-01-12 06:28:37

㈠ 汇编语言和c语言有什么区别

1:
汇编语言是面向具体CPU及其硬件结构的语言
C语言可以做到硬件无关性
2:
汇编语言效率较高
C语言效率相对较低
3:
汇编语言是非结构语言,可读性较弱
C语言是结构语言,可读性较强
4:
汇编语言基本没有可移植性
C言可移植性很强
5:
汇编语言没有函数库,所有代码需要自己组织
C语言有丰富的函数库可供调用。

㈡ C语言与汇编语言

楼上都不懂。
C相对汇编来说的优势主要在移植性上和开发效率上。程序执行效率不如汇编。所以如果不关注程序执行效率的话,推荐用C.当然,现在绝大部分的处理器都有C编译器。
但是为什么8086上采用汇编语言呢?
最主要的的原因是,8086有足够多的通用寄存器。
为什么有足够多的通用寄存器就不需要用C了呢?
原因在于,你就不需要层层压栈来控制参数的保存和传递,而这在C里都是编译器为你自动分配的。在C里,对你而言只要知道你定义的变量名就可以,而不需要知道编译器是如何分配内存单元或者寄存器来存储你的变量。当你拥有了足够多的通用寄存器,用汇编做小程序不是更简单?

㈢ C语言和汇编语言的关系

程序员编写的C语言代码,首先要经过C语言编译器,生成汇编代码,这个过程称为编译阶断,当C语言编译器生成汇编代码后,再调用汇编器来将汇编代码编译成汇编指令。

这是一种站在巨人肩人的作法,最早的C++编程语言也是这样的实现方法,只不过那时候叫Cfront程序,Cfront程序的作用是将C++代码转换成C语言代码,类似于一个文本处理器,然后再调用C语言编译器,将C源码编译成汇编代码,然后再调用汇编器将汇编代码编译成机器码。

这个过程,在Windows平台上不容易操作,但是在Linux平台上很容易看到。以gcc这款c语言编译器为例,它实际上是四个小程序。
cp: c语言预处理程序,有它负责进行预处理操作。
cc: C语言编译器,它负责将C源码编译成汇编代码。
as: 汇编器,它负责将汇编代码编译成机器码,一般使用gcc test.c这样的命令编译C语言时,会生成一个a.out的程序,它实际上指的就是as ouput,即汇编器输出文件。
link: 链接器,它负责将汇编器输入的机器码和库打包成一个操作系统可以运行的可执行文件,在Linux上的可执行文件格式是ELF格式,这个格式的实现是有链接器来完成的。

㈣ 汇编语言与C语言有什么区别

1、操作复杂程度的不同

c语言,与汇编语言相比,c语言在更加接近人的一般思维,因此在程序的设计过程中比较容易操作,此外在进行一些复杂的操作,运算时,c语言比汇编就要简单很多,尤其是c语言中的丰富的函数库,可以直接实现一些原本很复杂的功能,并且从代码量来说任意一个c语言程序,通过反汇编之后变成汇编语言程序,其长度都可能要增加好几倍。

2、使用范围的不同

c语言程序的事件将会只是编写汇编语言程序的几分之一,从编写程序的效率上来说c语言无疑更高,此外C语言是高级程序语言因此可移植性较好,不太受到到硬件设备的限制。

在实现一个功能时,汇编语言可以直接奔着目标去,而C语言则是给你提供了一种对于对于这种问题的普遍处理办法,不具有针对性,因此会有许多多余的在这个问题中不需要的过程,因此可能回事程序较大,运行较慢。相对与汇编语言,C语言更加适合一些较大型项目的开发。

3、运行的速度和效率不同

程序没有了汇编语言计算机直接就无法运行,因为汇编语言是基于计算机底层硬件的编程,通过它实现了对cpu,内存,硬盘以及外界设备的直接操作,因为直接所以汇编语言在程序的大小,执行的速度与效率方面几乎无可比拟,但是也是因为直接,所以汇编程序难以移植,且完成相同的操作代码量太大,在进行一些大的项目是,单独使用汇编进行编程几乎不可能实现。

㈤ C语言和汇编语言的区别是什么

区别如下:

(1)两者编译组成不同。汇编语言是将由0、1组成的机器语言用具有简单语义的英文代码表示,而C语言不但将许多相关的机器指令合成为单条指令,并且去掉了与具体操作有关但与完成工作无关的细节,例如使用堆栈、寄存器等。

(2)两者被计算机识别的路径不同。汇编语言通常用于对硬件的直接操控。而且C语言所编制的程序不能直接被计算机识别,必须经过转换才能被执行。

(3)两者用处不同。汇编语言通常用在程序中最核心的、控制硬件的代码,一方面是安全,另一方面提高运行速度。而C语言通常用在计算机外用功能上。

(4)两者学习难易程度不同。汇编语言所需要的编绘知识很多很复杂,经常被开发者使用。而C语言是一门很简单方便的语言,编程者也就不需要有太多的专业知识。

计算机语言(Computer Language)指用于人与计算机之间通讯的语言。计算机语言是人与计算机之间传递信息的媒介。计算机系统最大特征是指令通过一种语言传达给机器。计算机语言从低级到高级可以分为:

(1)机器语言,即由0、1组成的机器硬件可以识别的语言;

(2)低级语言,即汇编语言

(3)中级语言,如C语言

(4)高级语言,如C++,JAVA,C#等。

(5)c语言与汇编扩展阅读:

如今通用的编程语言有两种形式:汇编语言和高级语言。

汇编语言和机器语言实质是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,容易识别和记忆。源程序经汇编生成的可执行文件不仅比较小,而且执行速度很快。

高级语言是绝大多数编程者的选择。和汇编语言相比,它不但将许多相关的机器指令合成为单条指令,并且去掉了与具体操作有关但与完成工作无关的细节,例如使用堆栈、寄存器等,这样就大大简化了程序中的指令。同时,由于省略了很多细节,编程者也就不需要有太多的专业知识。

高级语言主要是相对于低级语言而言,它并不是特指某一种具体的语言,而是包括了很多编程语言,如流行的vb、vc、foxpro、delphi等,这些语言的语法、命令格式都各不相同。

高级语言所编制的程序不能直接被计算机识别,必须经过转换才能被执行,按转换方式可将它们分为两类:解释类和编译类。

㈥ 汇编与C语言

简单的以个人经历说吧
C语言属于高级语言
汇编语言属于低级语言(高低并不是高等低等
而是处理的层面不同)
将来做开发
需求的还是高级语言
如C/C++/C#
JAVA
汇编则用于解密加密
破解一类
我的感觉
初学者学C语言
然后可以涉猎汇编
因为汇编接触的是底层
能让你理解C语言更透彻
比如楼上的朋友说指针什么的难
很难理解
如果你接触了汇编
像C语言指针操作
内存非配
调用子
函数
时是怎么调用的
你都能够知道
都知道了他的内幕
那你对他理解的还不透彻吗

㈦ c语言和汇编语言的区别

C语言是需要经过机器语言解释和翻译才能被硬件执行的高级语言。
汇编是一种直接对于硬件操作的语言,属于低级语言,面向硬件。
另外:两种语言的语法也是完全不同的。你可以在网上找一些例子看看就知道区别了。

㈧ C语言和汇编的区别是什么

汇编语言属低级语言,而C语言是高级语言,所谓高级语言就是更容易被人们理解的语言,其实汇编语言能实现的功能往往也能通过C语言来实现,甚至用C语言会更简单,但是汇编语言有一个优势是其他任何语言所不具备的,这也是为什么汇编语言一直能在编程中占有一席之地,那就是汇编语言对硬件的直接控制,也就是说他能直接对硬件操作,可以绕过操作系统等等之类。虽然有的领域其他编程也能实现,但是在很多地方往往是汇编语言能更加简单,更加完美的完成。而且学好了汇编语言你就能对cpu是怎么工作的有了清晰的认识,所以学计算机专业的一般都会学汇编语言。

㈨ 汇编语言与C语言有区别吗

C语言与汇编都是面向过程的语言。就是写各种流程。让程序“开始->1->2->3->4->结束”的写。但是汇编语言是基于底层的语言。就是说他写的内容是操作电脑最基本的资源,控制CPU是具体到操作寄存器、累加器等。硬件相关性非常强。代码非常难读懂,就是纯机器语言,也很难移植。C语言是从汇编基础上发展出来的,它更像人类语言。在处理过程逻辑时更容易让人理解。C语言的编译是首先编译成汇编的。程序员可以看到C语言转换后的汇编代码。然后最终成为执行文件。大大提高了开发效率。但是汇编执行效率高,体积小,现在的病毒都是汇编写的。几K字节大小都很强大了。要是同样用C语言写要几MB字节。

㈩ c语言和汇编语言的区别

C语言举例:
void main(void)
{.....
}
汇编语言举例:
ORG 0000H
LJMP MAIN
MAIN:
NOP ;
.......
LJMP MAIN
END

热点内容
绿色linux 发布:2024-11-14 12:56:11 浏览:349
游戏本缓存 发布:2024-11-14 12:55:28 浏览:649
微软提供的编译软件 发布:2024-11-14 12:55:16 浏览:17
长沙java培训机构哪家好 发布:2024-11-14 12:40:53 浏览:228
外存储器硬盘能存储的高清电影数 发布:2024-11-14 12:33:23 浏览:265
python分号作用 发布:2024-11-14 12:31:50 浏览:223
方舟编译器下载要钱吗 发布:2024-11-14 12:29:20 浏览:62
jspoa源码 发布:2024-11-14 12:21:31 浏览:420
不记得了密码怎么办 发布:2024-11-14 12:18:58 浏览:442
python字符串的大小 发布:2024-11-14 12:17:24 浏览:222