汇编为什么效率高 在线等

都说汇编语言的执行效率高 是不是因为她可以直接访问内存,可以直接使用寄存器如果这样 那比如我用c输出'helloworld!',又用汇编写了一个 两种在编译后生成的是等价代码 是不是c的代码比较汇编的有很多冗余呢? 另外在windows下运行的程序貌似都会调用windows api接口 这api我一直没理解明白,我理解api可能是应用程序使用系统资源 时候不能直接调用而去调用了api由api函数再去调用系统资源 如果这样那么在windows下汇编的效率是不是等同于其他语言呢? 另外希望高人能对api做个形象的解释 百度百科的那个我看着有点纠结

第1个回答  2020-01-21
问题1:
C语言和汇编语言分别写的“Hello,world!”程序,其生成的EXE文件的大小、执行效率并非等价。C语言有STDIO.H标准输入输出库,而汇编没有,只有借助DOS系统功能调用实现。
这两个语言比较,并不是说C的程序冗余,而是集成了库后体积大,而汇编没有库的概念,没有了这个负担。但其在连接生成EXE文件过程中,也要加入环境变量等东西,体积也比单纯的源程序要大。
问题2:关于API
API是个接口,是你写的应该程序与操作系统功能间的桥梁。比如,给你块CPU,40根引脚,再给你个引脚功能图,告诉你编程只需要对照功能图进行,引脚1是干吗、引脚2是干吗……,在这种情况下,你不需要芯片内部是什么构造,但是你可以使用芯片的全部功能。这个功能图就相当于API,可以把你的参数传递给芯片加工成“成品”后再传给你。
再举个例子:你-快递-工厂。工厂一般不提供个人零售业务,现在如果提供网邮业务,则快递就是你和工厂之间的桥梁,相当于这个API,你只需要告诉快递买什么,一切由快递与工厂打交道。
希望以上的解释能帮到你!
相似回答
大家正在搜