大佬教程收集整理的这篇文章主要介绍了c – 在程序启动时从另一个目录加载DLL,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
并且只是为了某些背景,该平台是Windows 7 x64,当我在MyProgram.exe项目目录中创建一个符号链接到MyProgram的安装目录中的DLL时,MyProgram.exe正常运行.当我尝试在没有符号链接的情况下运行它时,我得到“程序无法启动,因为计算机中缺少OtherProgramDLl.dll”错误.
任何建议或相关信息的链接非常感谢!
编辑:澄清:DLL在编译时没有链接,这个问题在运行时出现
> Load-Time链接是指程序启动时自动加载DLL的时间. Windows使用我将在下面讨论的特定算法找到此DLl.
> Run-Time链接是指通过在代码中调用LoadLibrary专门加载DLl.类似的规则适用于如何找到库,但您可以指定完全限定或相对合格的路径来控制搜索.
在加载时链接的情况下,MS建议您的程序的DLL存储在加载应用程序的同一目录中并从中加载.如果这一切都可行,这可能是您的最佳选择.
如果这不起作用,还有其他几个选项,outlined here.一个是通过将DLL放在工作目录或加载应用程序的目录中来利用搜索顺序.
您可以通过以下方式更改应用程序的工作目录:
>创建应用程序的快捷方式.
>打开快捷方式的属性
>使用DLL所在的目录编辑“开始”属性.
>向应用程序添加清单,指定您的从属assemblies所在的位置,或者,>设置PATH.
以上是大佬教程为你收集整理的c – 在程序启动时从另一个目录加载DLL全部内容,希望文章能够帮你解决c – 在程序启动时从另一个目录加载DLL所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。