C语言中编译程序和连接程序的作用和原理是什么关键是原理,越详细越好,谢了~

C语言中编译程序和连接程序的作用和原理是什么关键是原理,越详细越好,谢了~,第1张

编译主要工作是检查一下你的源代码,看看它是否能够读懂,如果可以完全明白,就把你的源代码变成一种计算机更方便处理的文件,通常我们称为目标文件,常用后缀obj 或o,编译的工作就结束了。

链接程序的拿到目标文件后,进行装配工作。因为你设计的程序中,要不是调用自己设计的功能,要不调用系统提供的功能。链接就是把根据你程序说明的调用关系,找到相应的程序,把它们拼接起来,形成可以被 *** 作系统执行的文件,也就是可执行文件。

使用masmexe编译16位汇编源代码生成obj文件,在用linkexe连接生成16位可执行文件exe。在32位机器上是可以写16位程序的,因为x86的计算机体系就是为了兼容低阶程序而存在的,计算机在启动的时候就是以实模式(可以简单理解为16位的)启动的,之后 *** 作系统才使用机器指令转向32位保护模式(因为这样从硬件级支持多任务)。编写16位、32位、以及64位汇编程序只要下载安装相应的汇编包就可以了。追问:可以兼容低阶的程序也能兼容高阶的?回答:计算机开机启动是实模式的, *** 作系统使用机器指令转入保护模式,之所以保留实模式就是为了在硬件级支持16位程序,进入保护模式以后机器还能运行16位程序是因为在保护模式下还支持一种称为虚拟86的模式,也就是说虽然在保护模式下 *** 作系统也能执行16位机器码,但是她是保护模式提供的虚拟机状态,可以简单理解为虚拟86模式是软件仿真的16为执行环境(以便在保护模式下直接运行16位代码,而不用转回实模式)。要编译执行64机器码,必须是64cpu。否则机器无法编译执行~!低阶无法执行高阶机器码。追问:那dos汇编里的中断指令还有用吗回答:如果是在开机实模式下,汇编中断是硬件级执行的(绝对控制权)!在保护模式下dos的所有汇编中断调用都是无效的,只是被 *** 作系统虚拟执行的!!!追问:就是能执行?回答:

以上就是关于C语言中编译程序和连接程序的作用和原理是什么关键是原理,越详细越好,谢了~全部的内容,包括:C语言中编译程序和连接程序的作用和原理是什么关键是原理,越详细越好,谢了~、怎么编译连接16位的汇编程序、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9306750.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存