首页 > 编程语言 >《程序是怎样跑起来的》第八章理解

《程序是怎样跑起来的》第八章理解

时间:2024-02-29 15:14:00浏览次数:28  
标签:可执行文件 代码 程序 第八章 DLL 理解 源代码 运行

计算机并不是只能运行本地代码,它还可以运行解释型代码、脚本等,但本地代码是其中一种常见的执行方式。本地代码是指用某种编程语言编写的源代码经过编译器编译后,直接生成可以在特定平台上运行的机器语言代码。这种代码与平台紧密相关,因此通常不可移植到其他平台。当你使用编译器编译源代码时,它会将源代码转换为可以在特定平台上运行的机器代码,并将这些代码打包成一个可执行文件。但是,有些语言需要先编译成中间代码,然后在运行时由虚拟机解释执行。DLL是一种可执行文件,它包含可由多个程序同时使用的代码和数据。DLL允许程序在运行时动态地加载和使用其中的函数,而不需要将这些函数复制到每个使用它们的程序中。这有助于节省内存,并允许程序使用其他程序已经加载的DLL。导入库是DLL的一个辅助文件,它包含DLL中导出函数的符号信息。导入库让链接器知道如何定位DLL中的函数,并在可执行文件中创建适当的导入表。当可执行文件运行时,操作系统使用这些导入表来定位并加载DLL。可执行文件必须与目标平台兼容,包括操作系统、CPU架构等。可执行文件可能依赖于其他DLL或库文件。这些依赖项必须存在于系统中,或者可执行文件需要知道如何找到它们。某些可执行文件可能需要特定的环境变量或配置文件才能正确运行。运行可执行文件可能需要特定的权限或管理员身份。足够的内存、磁盘空间和其他系统资源是运行可执行文件的基本要求。总之,计算机不是只能运行本地代码,但本地代码是常见的执行方式。通过编译源代码,你可以得到可执行文件,但这也可能涉及其他文件,如DLL和导入库,这些文件都是程序运行所需的。而可执行文件的运行则需要满足一系列条件,包括平台兼容性、依赖关系、环境变量和配置、权限以及系统资源等。

标签:可执行文件,代码,程序,第八章,DLL,理解,源代码,运行
From: https://www.cnblogs.com/SXY123/p/18044300

相关文章

  • 程序是在何种环境下运行
    本章讲解了程序是怎样运行的,不同的程序不同的环境上不一定可以运行,而操作系统和硬件决定了程序的运行环境,同一类的硬件可以选择安装多种操作系统,但从程序运行环境来考虑,CPU的种类是特别重要的,从Windows克服了CPU以外的硬件差异可以看出(CPU不同本地代码不同)。不同操作系统的API不同......
  • 《程序是怎么跑起来的》第十一章
    第十一章的主题是“硬件控制方法”,主要介绍了程序如何控制CPU和主内存以外的硬件。通过阅读这一章,我了解到以下内容:1软件对硬件的重要性:如果没有软件,计算机就只是一个空箱子。软件的存在是硬件正常运行的必要条件,而硬件控制软件则是实现计算机功能的关键2IN和OUT指令:这两个指令......
  • 《程序是怎样他跑起来的》第三章
    读完《程序是怎么跑起来的》第三章后,我对计算机的内存管理有了更清晰的认识。这一章详细介绍了内存的组织方式、地址空间的概念以及内存的分配和释放过程。我了解到内存是计算机中非常重要的资源,程序运行时需要将数据和代码加载到内存中。内存的管理对于高效利用内存、避免内存泄......
  • 《程序是怎样跑起来的》第四章
    在阅读《程序是怎么跑起来的》第四章后,我对计算机的内存管理有了更深入的理解。这一章详细介绍了内存的概念、内存的分配和释放以及内存管理的重要性。我明白了内存是计算机中非常重要的资源,程序运行时需要将数据和代码加载到内存中。通过对内存的合理分配和使用,可以提高程序的性......
  • docker 部署.net core 3.1程序
    docker安装安装所需的软件包,yum-utils提供了yum-config-manager,并且devicemapper存储驱动程序需要device-mapper-persistent-data和lvm2。sudoyuminstall-yyum-utils\device-mapper-persistent-data\lvm2使用命令来设置docker仓库(阿里源,官方源太慢了)sudo......
  • 《程序是怎样跑起来的》第十二章读后感
    《程序是怎样跑起来的》第十二章主要讲的是让计算机思考。程序就如同是由计算机执行的各种指令罗列起来的文章。计算机内部的CPU,通过对该文章的内容进行解析和运行,来控制连接到计算机的各种外围设备。控制就是只CPU和各种设备之间配合进行数据的输入输出管理。程序的使用目的大体......
  • 《程序是怎么跑起来的》第五章
    读完《程序是怎么跑起来的》第五章后,我对程序的文件和输入输出有了更清晰的认识。这一章详细介绍了文件的概念、文件的操作以及输入输出的处理方式。我了解到文件是程序中用于存储和读取数据的重要介质,通过文件可以将数据长期保存下来,并在需要时进行读取和处理。文件的操作包括创......
  • Go语言精进之路读书笔记第40条——理解包内测试与包外测试的差别
    测试代码存放在包含TestXxx函数的以*_test.go文件名结尾的文件中40.1官方文档的“自相矛盾”包内测试:测试代码放在与被测包同名的包中包外测试:测试代码放在名为被测包包名+"_test"的包中40.2包内测试与包外测试包内测试:优:白盒测试,高覆盖率缺:测试代码自身需要经常性的维......
  • 《程序是怎样跑起来的》第九章
    本章讲述了操作系统与应用的关系,操作系统的功能以及Windows操作系统的特征,本章主要是让我们认识到操作系统在程序运行中是必不可少的存在。操作系统是管理计算机硬件资源、控制其他程序运行并为用户提供交互式操作界面的系统软件的集合。操作系统负责管理与配置内存、决定系统资......
  • 《程序是怎样跑起来的》第七章读后感
    第七章为程序在怎样的环境下运行,出现这个题目时,我在想了一会,程序在什么样的环境下运行,首先在软件上必须要有操作系统,硬件上好像不能缺少,程序可以在操作系统下运行,也可以被很多用户使用,可以产生很大价值,但是安装却不是一个好的事情,有些程序不支持在这个CPU上使用,那为什么不找到这个......