今天沃阅读了程序是怎么跑起来的第八章,从源文件到可执行文件。本章分为九个课时,分别介绍了关于编码器,原代码和代码的执行方面的问题,且计算机只能运行本地的代码,虽然计算机通常只能直接运行本地代码,但通过虚拟机和解释器等技术,可以实现在计算机上运行非本地代码的需求。
本地代码是指针对特定操作系统和硬件架构编写的程序代码,可以直接在本地计算机上执行。编译器是一种负责将源代码转换为目标代码的工具。编译器接收源代码作为输入,经过词法分析、语法分析、语义分析、优化和代码生成等多个阶段的处理,最终生成目标代码词法分析,语法分析,语义分析,中间代码生成,代码优化,目标代码生成,链接通过编译器的工作,我们可以得到可执行文件,这个可执行文件包含了计算机可以直接执行的指令,可以在相户启动文件,这是计算机系统中用来引导操作系统或应用程序的特殊程序。
在计算机启动时,硬件会首先加载并执行启动文件,然后由启动文件负责加载操作系统或其他必要的程序,从而使计算机,DLL文件通常用于在不同的应用程序之间共享代码和数据,以提高代码的重用性和减小程序体积如果可执行文件依赖于外部的库文件,那么这些库文件必须在系统中存在并可被访问。栈和堆都是程序运行时使用的内存空间。栈是一种数据结构,采用先进后出的原则,用于存储函数调用的执行环境、局部变量和参数等;而堆是一种动态分配的内存空间,用于存储程序运行期间动态申请和释放的内存块。
最后通过本章的阅读,使我对文件的执行有了更深一层的1理解,也会使我在接下来的学习中知道计算机的内部运行思路。