Ⅰ c语言被编译后是汇编程序吗
当然不是,编译后是OBJ文件,连接后成立可执行代码,是二进制机器码了。
Ⅱ 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语言不能代替吗
一般语言能做到的汇编能做到,不能做到的就只有汇编能做到,而且如果说C语言为什么不能代替,因为汇编的效率比C快了一倍多。
Ⅳ 有没有人会把C语言改为汇编语言
有的,如果是单片机程序的话,KEILC在调试模式下有一个disassembly window窗口,显示C及其对应汇编代码。
Ⅳ 学会了c语言是不是汇编语言也就会了 有什么不同吗
C语言是高级语言,汇编语言是低级语言,两者相差太大。
Ⅵ 学会C语言后,再学汇编语言会更简单吗
不是的,如果你要学汇编可以不用学C语言的,学了汇编对硬件了解得更多,学会了汇编C语言自然就懂了,因为C很简单的,忘采纳。。。我是过来人
Ⅶ 汇编语言在当今的应用性是否可以被C语言完全取代
用c取代汇编是大趋势,不过有些条件受限的情况下,汇编还有用武之地。还有性能优化要求很高的地方,直接用汇编能直接体现编程者的意图,毕竟编译器再聪明,也无法达到优秀汇编人员的水平。日常应用中,还是尽量用C,汇编代码太难维护和理解了。
Ⅷ C语言已经取代了汇编语言吗
以前UNIX都是汇编编写的,后来用C语言重写过,一般在最底层还是会保留一部分汇编代码,毕竟汇编的执行效率是最高的。如果要做系统底层应用C语言与汇编都要会。后来随着系统规模不断扩大,C对于一些非常庞大的系统错误很难查找,代码安全性得不到保证,C++就业被用于编写操作系统。 上层应用如果对实时性要求不高一般都回选择更高级的语言, 其实就是一个执行效率与编写的方便的选择,谈不上取代吧。