单片机用c编写跟用汇编编写有什么区别吗?

来源:百度知道 编辑:UC知道 时间:2024/06/22 11:10:02
最近总是用c语言编写程序,总是在想,汇编跟c有什么区别吗?他们都生成HEX文件吗?生成的文件大小有区别吗?

一般来说,C编译的HEX文件会比汇编编译的大一点。其实C文件首先要编译为汇编文件,然后再把汇编文件编译为HEX或BIN文件。
如果C编译后的汇编文件就能看到,代码行数越多,C文件编译的汇编要比人脑想出来的汇编文件要大得多。因为在用汇编写程序的时候,一般都会思考一下如何优化它。但C编译器的自动优化能力没有人脑高(但优化时间比人脑快得多),市面上的C编译器软件都有一个优化率的指标,开发者会根据优化率来选择好的C编译器。
如果你的单片机程序很大,但单片机的存储器很小,就要注意用汇编来尽量优化。因为最好的编译器也只有百分之九十多。如果编译一些数学运算公式,可能会更低。