首页 > 系统相关 >什么是 Windows 操作系统 DLL 文件的 Side-by-Side Assemblies 技术

什么是 Windows 操作系统 DLL 文件的 Side-by-Side Assemblies 技术

时间:2023-11-04 10:32:58浏览次数:34  
标签:文件 需要 Windows 程序 dll DLL Side

.dll 文件是 Windows 操作系统中的一种重要文件类型。全名为“动态链接库”(Dynamic Link Libraries),它包含了一些可以由多个程序共享的代码和数据。这使得在 Windows 下的开发者可以将一些公共的功能和数据集中到一些 .dll 文件中,而这些功能和数据可以被任何需要的程序所调用和使用。

例如,让我们考虑一个常见的情况:许多 Windows 程序都需要一些基本的用户界面元素,如对话框、按钮、滚动条等。微软公司已经在 Windows 操作系统中开发了这些用户界面元素,并把它们放在了一些 .dll 文件中。这样,开发者在创建自己的程序时,只需要调用这些 .dll 文件,就可以在自己的程序中使用这些用户界面元素,而不需要自己从头开发。

从这个例子中,我们可以看到 .dll 文件的两个主要优点。首先,.dll 文件可以被多个程序共享,这意味着你的计算机上只需要一份这些文件,就可以满足所有程序的需要。这不仅可以节省硬盘空间,也可以降低程序运行时的内存需求。其次,.dll 文件可以使得程序开发变得更加简单和快速。因为开发者可以利用 .dll 文件中的预先定义好的功能,而不需要自己从头开始开发。

然而,.dll 文件也有一些潜在的问题。其中最常见的问题就是 DLL 地狱 问题。这个问题通常发生在两个或更多的程序都依赖于同一个 .dll 文件,但是这些程序需要的 .dll 文件版本却不一样。例如,程序 A 需要版本 1.0 的 .dll 文件,而程序 B 需要版本 2.0 的 .dll 文件。如果你先安装了程序 A,然后安装了程序 B,那么程序 B 的安装程序可能会覆盖掉原来的 .dll 文件,导致程序 A 无法正常运行。

为了解决这个问题,微软引入了一种叫做 侧边加载(Side-by-Side Assemblies)的技术,允许不同的程序使用不同版本的 .dll 文件。在这个技术下,每个程序都有一个 清单(Manifest)文件,用来记录它所需要的 .dll 文件的版本。当程序运行时,Windows 会根据这个清单文件,为程序提供正确版本的 .dll 文件。

虽然 .dll 文件在 Windows 操作系统中发挥着重要的作用,但是对于大多数的用户来说,他们并不需要直接处理这些文件。这是因为 .dll 文件通常是由程序安装器自动安装和管理的。但是,如果你遇到了一些程序无法运行,或者系统告诉你缺少某个 .dll 文件的错误,那么你可能需要手动修复。

标签:文件,需要,Windows,程序,dll,DLL,Side
From: https://blog.51cto.com/jerrywangsap/8180020

相关文章

  • Windows Server2019安装MySQL8.0.32
    安装包下载:https://downloads.mysql.com/archives/community/下载mysql-8.0.32-winx64.zip1、制定目录配置basedir=D:\\mysql8.0.32#mysql数据存放目录datadir=D:\\mysql8.0.32\\data将.zip压缩包解压到D盘,并重命名为mysql8.0.322、编辑my.ini文件[client]#max_a......
  • 保姆级教学之解决Windows系统下shutil zipfile解压缩中文乱码问题
    使用shutil,zipfile模块解压文件,若待解压文件路径中带有中文,则会出现一下乱码情况。解决方案:直接对python库文件zipfile.py进行修改即可。以本人正在使用的Python3.10.4版为例。以下时具体操作流程。1、找到python所在文件路径如不知道python装在哪里,可以利用python的内置模块sys的s......
  • Windows 11 搭建Stable Diffusion遇到的问题
    趁着双11,将我的i54690+ddr34gx2换掉了,换成了AMD5600+ddr4x2,另外加了个1t的m2的ssd。原先的硬件部分留下了:500w的金河田电源kingstonsdd128g系统启动盘保留wdblue1t也保留下来,但是最近待机之后总是会找不到,暂时没去调查什么原因之前的1650s显卡然后......
  • Windows server 2022 搭建 AD 域服务器<01>
    1.AD(ActiveDirectory)WindowsServer环境准备AD应用程序:ActiveDirectory域控制器主机名称IP角色AD-Server192.168.61.237AD服务器2.配置AD环境地址3.添加角色和功能配置域控制器配置DSRM密码:Lahmy1c!安装后会自动重启服务器,重启后,系统将......
  • 给Windows11开启休眠功能
      休眠功能明显比睡眠功能好用,还不惧怕断电,不知道为什么微软要把这个功能默认关闭。  开启方法:  1.使用管理员资格启动命令提示符  2.使用如下命令即可开启:powercfg.exe/hibernateon  使用后休眠就回来了。 ......
  • 如何让 WinDebug Preview 加载 Dotnet Core 的 SOS.dll 进行调试
    一、前言最近我在使用WinDebug进行系统调试,也是在学习《Net高级调试》这本书。以前听过WinDebug调试器,但是没有使用过,由于最近想起来了,就好好的研究一下,学习一下。初次接触,还是走了不少弯路,踩了不少坑。关于WinDebug最新版的安装方法,可以在“微软商店”里面,直接查询......
  • 如何为Windows服务增加Log4net和EventLog的日志功能
    一、简介最近在做一个项目的时候,需要该项目自动启动、自动运行,不需要认为干预。不用说,大家都知道用什么技术,那就是Windows服务。在以前的NetFramework平台下,Windows服务是一个不错的选择。如果现在在NetCore版本,或者Net5.0以及以上版本,我们会有另外一个选择,这就是......
  • windows10编译scrcpy
    一、概述简介:Scrcpy是一款小巧的Android投屏软件,能够跨平台其支持Windows、Mac、Linux系统。右PC充当客户端,Android板子作为服务端。原理:Android将录屏发送给PC,PC接收到数据后进行展示。PC上鼠标点击录屏上对应的坐标,把坐标通过Socket通信传递给Android端,实现对Android......
  • 一款修改windows文件时间的神器 NewFileTime
    自行下载好了,资源很多,要注意就是箭头了,一个是改为中文语言,然后就是创建时间什么那些改好来,拖文件,然后点应用时间进行修改完事了......
  • 使用Qemu在Windows上模拟ARM平台
    我们平常使用的PC一般都是x86架构的IntelCPU,如果由于某些原因,需要使用arm架构的操作系统,我们无法使用一些虚拟机软件(如vmwareworkstation、virtualbox等)进行安装,因为这种类型的虚拟机软件只能安装和宿主机的CPU相同架构的系统。此时,我们可以使用qemu软件。Qemu是一款开源的模拟......