计算机开发中常说的加载器是啥呢?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机开发中常说的加载器是啥呢?相关的知识,希望对你有一定的参考价值。

计算机开发中常说的加载器是什么呢?

首先程序开发中有加载器,加载器就是指定名称的模块在 sys.modules 找不到,则将发起调用 Python 的导入协议以查找和加载该模块。 

1.此协议由两个概念性模块构成,即 查找器 和 加载器。 查找器的任务是确定是否能使用其所知的策略找到该名称的模块。 同时实现这两种接口的对象称为 导入器 —— 它们在确定能加载所需的模块时会返回其自身。
2.Python 包含了多个默认查找器和导入器。 第一个知道如何定位内置模块,第二个知道如何定位冻结模块。 第三个默认查找器会在 import path 中搜索模块。 import path 是一个由文件系统路径或 zip 文件组成的位置列表。 它还可以扩展为搜索任意可定位资源,例如由 URL 指定的资源。
3.导入机制是可扩展的,因此可以加入新的查找器以扩展模块搜索的范围和作用域。
查找器并不真正加载模块。 如果它们能找到指定名称的模块,会返回一个 模块规格说明,这是对模块导入相关信息的封装,供后续导入机制用于在加载模块时使用。
以下各节描述了有关查找器和加载器协议的更多细节,包括你应该如何创建并注册新的此类对象来扩展导入机制。
4.在 3.4 版更改: 在之前的 Python 版本中,查找器会直接返回 加载器,现在它们则返回模块规格说明,其中 包含 加载器。 加载器仍然在导入期间被使用,但负担的任务有所减少。

5.但是要小心,因为如果你还保有对某个模块对象的引用,同时停用其在 sys.modules 中的缓存条目,然后又再次导入该名称的模块,则前后两个模块对象将 不是 同一个。 相反地,importlib.reload() 将重用 同一个 模块对象,并简单地通过重新运行模块的代码来重新初始化模块内容
6.在入期间,会在 sys.modules 查找模块名称,如存在则其关联的值就是需要导入的模块,导入过程完成。 然而,如果值为 None,则会引发 ModuleNotFoundError。 如果找不到指定模块名称,Python 将继续搜索该模块。
7.sys.modules 是可写的。删除键可能不会破坏关联的模块(因为其他模块可能会保留对它的引用),但它会使命名模块的缓存条目无效,导致 Python 在下次导入时重新搜索命名模块。键也可以赋值为 None ,强制下一次导入模块导致 ModuleNotFoundError 。

8.定位冻结模块。 第三个默认查找器会在 import path 中搜索模块。 import path 是一个由文件系统路径或 zip 文件组成的位置列表。 它还可以扩展为搜索任意可定位资源,例如由 URL 指定的资源。
9.导入机制是可扩展的,因此可以加入新的查找器以扩展模块搜索的范围和作用域。
查找器并不真正加载模块。 如果它们能找到指定名称的模块,会返回一个 模块规格说明,这是对模块导入相关信息的封装,供后续导入机制用于在加载模块时使用。
以下各节描述了有关查找器和加载器协议的更多细节,包括你应该如何创建并注册新的此类对象来扩展导入机制。

参考技术A “加载器(英语:Loader),又译为加载器、加载程序,是操作系统的一部份,负责程序的加载。它是程序运行中不可或缺的一个步骤,加载器会将程序置放在存储器中,让它开始运行。”

最近一直听到别人说unity3D,这个东西具体是啥呢?大家知道吗?

  Unity是一个最近比较火的一款游戏引擎,效果相对不错,主要特点就是,相对开发简单,易上手。开发周期相对较短。而且效果比较好。比较新的一个东西。
  Unity3D
  Unity3DUnity3D是一个让你轻松创作的多平台的游戏开发工具,是一个全面整合的专业游戏引擎。
  特色

  综合编辑
  通过Unity简单的用户界面,你可以完成任何工作。这些为你节省了大量的时间。
  图形动力
  Unity对DirectX和OpenGL拥有高度优化的图形渲染管道。
  资源导入
  Unity支持所有主要文件格式,并能和大部分相关应用程序协同工作。
  一键部署
  Unity可以让你的作品在多平台呈现。
  Wii的发布
  Unity让业界最流行的游戏平台软件更容易开发。
  iPhone发布
  Unity让革命性的游戏开发降临革命性的设备。
  着色器
  Unity的着色器系统整合了易用性、灵活性和高性能。
  地形
  低端硬件亦可流畅运行广阔茂盛的植被景观。
  联网
  从单人游戏到全实时多人游戏。
  物理特效
  Unity内置的NVIDIA®PhysX®物理引擎带给你生活的互动。
  音频和视频
  实时三维图形混合音频流、视频流。
  脚本 Unity支持3种脚本语言:JavaScript,C#,Boo。
  Unity资源服务器 Unity资源服务器是一个附加的包括版本控制的产品。
  光影 Unity提供了具有柔和阴影与烘焙lightmaps的高度完善的光影渲染系统。
  文档
  Unity为你提供逐步的指导、文档和实例方案。

参考资料:http://baike.baidu.com/view/2299410.htm

参考技术A Unity,又称Unity3D,是一款由 Unity Technologies 研发的跨平台2D / 3D 游戏引擎。
从2012年进入中国,历经多年的发展已经成为游戏圈不可或缺的游戏制作工具。可用于开发 Windows、MacOS 及 Linux 平台的单机游戏,PlayStation、XBox、Wii、3DS 和 任天堂Switch 等游戏主机平台的视频游戏,或是 iOS、Android 等移动设备的游戏。Unity 所支持的游戏平台还延伸到了基于 WebGL 技术的 HTML5 网页平台,以及 tvOS、Oculus Rift、ARKit 等新一代多媒体平台。
全平台(包括PC/主机/移动设备)游戏中有一半都是基于Unity创作的。使用Unity3d制作的游戏常见的有:神庙逃亡,王者荣耀,吃鸡类游戏等。
除制作游戏以外,在AR/VR、虚拟仿真、影视等很多方面也具有长足的特色和优势,是一款被广泛应用的综合型创作工具。
如果对unity感兴趣的话,推荐了解一下优就业的VR/AR游戏开发课程,围绕unity引擎展开,除讲解游戏开发岗位技能之外,还深入讲解游戏策划岗位技能,辅助增加就业选择及优势,另外以Unity引擎为基础的热门VR/AR,也成为了就业的重要方向。
参考技术B 一款游戏引擎 蛮不错的 参考技术C 哇,解释的好详细啊,请问 jianh2010,是这方面的专家吗?
真的好想学unity3D,哪有学啊

以上是关于计算机开发中常说的加载器是啥呢?的主要内容,如果未能解决你的问题,请参考以下文章

人们常说的IT行业,IT的英文全称是啥呢?IT行业都包括那些

web前端和后端的不同点是啥呢?

编程中常说的hook是啥意思?

Python是啥呢?能拿来干嘛?

Python迭代器是啥?

python可以做数据分析,好处是啥呢?怎么学习?