如果掌握了win32汇编,再来学习C语言难吗?

来源:百度知道 编辑:UC知道 时间:2024/06/15 05:57:10
我是个初学编程的,已经学习了王爽的<汇编语言>,现在开始学习罗云彬的<windows环境下的32位汇编语言程序设计>,学得还可以,都能弄明白.
但我听别人说,汇编+C =无所不能.而我只想专心学习WIN32汇编,今后再学C语言.那将来学习C语言的时候,会不会也很难?

层次不同.

如果先学汇编,那么会觉得C语言比较简单,因为你对于内存、数据、指针、程序结构等有了认识,同时又有了一定的编程经验。你会发现很多复杂的汇编功能,C语言只要简单的几行就能够实现。

C是高级语言,而汇编是低级语言。高级语言需要通过编译器编译成低级语言或者中间代码。也就是说,一个C语言首先会被翻译成一个类似于汇编语言(或者完全一样)的代码,然后再转变成机器码。在Linux操作系统下,你可以利用GCC先将C/C++语言编译成*.s文件,这就是汇编形式的,然后再编译成*.o文件,这是目标文件,最后编译成elf格式的可执行文件。当然你也可以自己写汇编形式的*.s文件,然后编译。

不过汇编有很多种,Windows的汇编MASM,还有NASM和MASM基本类似但是可以在Unix上编译;此外还有AT&T格式的汇编与上面差别比较大,GCC就是这种形式的。

对于复杂的程序,你可以先用C语言写,然后编译成汇编形式,就非常简单了。打个比方,调用系统函数,汇编写需要查表找出中断号和参数形式,而C语言就非常简单了。
C语言的 sleep(1000);
也许相当于汇编的多行代码(假设)
mov bx,1000
mov ax,22
int 21

实际上C语言更加接近人的语言,而汇编则更加接近机器的语言。

汇编和c是没必然的联系的!汇编比c更抽象仅此而已。
最多可以让你树立更多程序的思想。一般规律是先c后汇编。

同意楼上的回答 我就两个都学过 先学的C后学的汇编你要是汇编学的好 C的理解上应该没什么问题 毕竟机器的思维方式你都懂了 人的思维方式还难么?