AfCore.dll没有与之关联的程序怎么办

AfCore.dll没有与之关联的程序怎么办,第1张

从本站下让简没载AfCore.dll文件【点击下载】

将下载过来的dll文件复制到C:\Windows\System32目录下。

【如果您的系统是64位的请将32位的dll文件复制到C:\Windows\SysWOW64目录】

按Win+R打咐迹开运行,

输入regsvr32AfCore.dll,点击回车,注坦纳册dll。

扩展名为dll的文件是动态链接库函数,它的定义如下:

动态链接库的概念

动态链接库(Dynamic Link Library,缩写斗孙为DLL)是一个可以被其它应用程序共享的程序模块,其中封装了一些可以被共享的例程和资源。动态链接库文件的扩展名一般是dll,也有可能是drv、sys和fon,它和可执行文件(exe)非常类似,区别在于DLL中虽然包含了可执行代码却不能单独执行,而应由Windows应用程序直接或间接调用。

动态链接是相对于静态链接而言的。所谓静态链接是指把要调用的函数或者过程链接到可执行文件中,成为可执行文件的一部分。换句话说,函数和过程的代码就在程序的exe文件中,该文件包含了运行时所需的全部代码。当多个程序都调用粗枝相同函数时,内存中就会存在这个函数的多个拷贝,这样就浪费了宝贵的内存资源。而动态链接所调用的函数代码并没有被拷贝到应用程序的可执行文件中去,而是仅仅在其中加入了所调用函数的描述信息(往往是一些重定位信息)。仅当应用程序被装入内存开始运行时,在Windows的管理下,才在应用程序与相应的DLL之间建立链接关系。当要执行所调用DLL中的函数时,根据链接产生的重定位信息,Windows才转去执行DLL中相应的函数代码。

一般情况下,如果一个应用程序使用了动态链接库,Win32系统保证内存中只有DLL的一份复制品,这是通过内存映射文件实现的。DLL首先被岩销敏调入Win32系统的全局堆栈,然后映射到调用这个DLL的进程地址空间。在Win32系统中,每个进程拥有自己的32位线性地址空间,如果一个DLL被多个进程调用,每个进程都会收到该DLL的一份映像。与16位Windows不同,在Win32中DLL可以看作是每个进程自己的代码。

二、动态链接库的优点

1. 共享代码、资源和数据

使用DLL的主要目的就是为了共享代码,DLL的代码可以被所有的Windows应用程序共享。

2. 隐藏实现的细节

DLL中的例程可以被应�%C

右键项目,消态旁属性->配置属性->调试->环境,在这里写入可执行文件运行时的环境路径,格式为:PATH=ABC,如PATH=$(SolutionDir)/env

这样,我们就可以把运行时需要的dll放在env文件夹下,便于管理,而不必再将DLL放在EXE所在目录下。

但注意的是:这个配置只在VS运行时才有用,程序发布时没什么用。

程序发布时DLL还是要和EXE放在同一目录,其它资源也要相对EXE配置好层拿橡次,比如原闭纤来的PROJECT下引用了 shader/vertex.vs,那么发布后也要在EXE目录下有shader/vertex.vs这样一个层次。


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

原文地址: http://outofmemory.cn/tougao/12272590.html

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

发表评论

登录后才能评论

评论列表(0条)

保存