草庐IT

main_DLL

全部标签

c++ - Windows 如何处理加载两个不同版本的 DLL?

问题我正在编写一个使用特定DLL版本的软件。我在执行目录中找到了特定的DLL,因此程序使用了那个。但是现在我不知道如果加载了特定的DLL并启动了另一个需要更新版本的程序会发生什么。有谁知道会发生什么?其他程序崩溃还是我的崩溃?其他这个问题是针对操作系统的:Windows10和windows7。工作站正在运行Windows更新,因此DLL将是最新的。用C++编写代码。 最佳答案 不同的dll可以在不同的进程中加载​​。不同进程的地址空间是独立的,不会互相干扰。如果DLL使用全局命名事物(例如磁盘上的文件、互斥体、共享内存),则特定dl

python - 我如何通过我的规范文件说服 PyInstaller 在它生成的 EXE 中包含 libvlc.dll?

我可以使用PyInstaller创建一个可在我的机器上运行的EXE。我满怀希望,而不是幻想,我希望EXE真的是独立的。但是,EXE不会在其他机器上运行。它由于缺少libvlc.dll而阻塞,错误消息说这可能是由于PyInstaller显然无法找到它。我用spec文件尝试了几件事,但都无济于事。我没有包含任何代码,因为我认为这无关紧要。这是我的规范文件:#-*-mode:python-*-block_cipher=Noneadded_files=[("D:/Applications/Python/RoguesGallery/images/*.*","images"),("D:/Appli

c++ - 延迟加载的 DLL 在内存中的加载距离彼此太远

我有一个x64Windows应用程序,它有时会在我无法控制的DLL库中崩溃。这个库实际上是一大组相互依赖的DLL(其中约40个)。崩溃并不总是在同一个地方,但这里有一个正在发生的事情的例子:Exceptionthrownat0x0000018393916B72(foo.dll)inbar.exe:0xC0000005:Accessviolationreadinglocation0x000001831C1F95A0.在此位置,VisualStudio中的反汇编显示如下:0000018393916B72cmpdwordptr[1831C1F95A0h],3起初我觉得这很奇怪,因为这意味着D

Python 请求 : Where is Crypto. dll?

我正在尝试在Windows上使用Anaconda的Python请求模块。使用pip安装后,尝试导入失败,因为密码学2.2.2模块需要asn1crypto。使用pip安装后,它失败了,因为加密库(在Windows上是crypto.dll)不存在。这到底是从哪里来的?asn1crypto使用它的方式让它看起来像是libcryptoXXX.dll,但我没有看到任何情况它会被称为crypto.dll。看起来非常旧的pyOpenSSL版本(回到python-OpenSSL时)带有用于Unix发行版的crypto.so,但我不知道它来自哪里,也没有看到任何提及crypto.dll(和crypto.

java - 线程 "main"java.lang.NoClassDefFoundError : org/opencv/core/Core 中的异常

我使用OpenCV已经很长时间了。但这是我第一次在eclipse中使用java。我跟着这个tutorial在eclipse中导入OpenCV4.1.0。我什至搜索了很多网站,它们的步骤完全相同。每次运行代码时,我都会得到这个**错误*Exceptioninthread"main"java.lang.NoClassDefFoundError:org/opencv/core/Coreatabss123.Openc_importing.main(Openc_importing.java:18)Causedby:java.lang.ClassNotFoundException:org.open

windows - 我怎么知道加载我的 dll 的 .exe 即将退出?

我有一个dll,它实际上是一个已注册的com服务,然后由另一个.exe进程加载。我希望当用户从.exe退出时在为时已晚之前从我的dll中执行一些资源关闭步骤。我试图从我的DLL的DllMain中拦截DLLPROCESSDETACH或DLLTHREADDETACH,但似乎当它到达那里时,已经太晚了,因为由我的DLL启动的线程(我需要执行关闭步骤)已经停止了?!当然,我不控制.exe代码,否则我会在它退出之前从那里调用一个调用来执行那些干净的关闭步骤。我只能处理DLL本身。DllCanUnloadNow或DllUnregisterServer似乎都没有被调用。有人可以解决这种情况吗?提前感

php - Apache 2.2.14 + php_apc.dll 崩溃

我无法让APC在Windows上工作,因为Apache在我运行php文件时总是崩溃。这个问题是否已知?是否有解决方法?版本:Apache2.2.14PHP3.1APC3.1.3 最佳答案 解决此类问题的最佳途径是检查您的Apache日志文件,看看出现了什么问题。这些日志的示例如下:[WedJun0306:07:472009][alert][client127.0.0.1]C:/wamp/www/WebsiteA/.htaccess:Invalidcommand'RewriteEngine',perhapsmisspelledorde

c - 如何解决此 MS 运行时 DLL 加载程序运行时错误 (R6034)

这是我的情况:我有一个与许多库链接的C项目(我还没有编写此应用程序),它还与MSVCR71.dll和MSVCP71.dll一起提供。即使没有这些DLL,该程序在我安装了MSVS2005的系统上运行良好(确实使用了MSVCR80.dll和MSVCP80.dll)。我已将此应用程序与在我的系统上编译的其他库链接起来。现在,在与这些库链接后,应用程序无法启动,因为它无法加载MSVCR80.dll和MSVCP80.dll...我说这很奇怪。加载程序向我显示错误R6034,应该使用list文件构建应用程序来解决这个问题。这个应用程序有什么问题?确认问题是由引入的库引起的。我可以在没有list或静

python - 在 Python 中导入 C++ dll 失败

根据“扩展和嵌入Python解释器”中的文档,我创建了一个VC项目,并成功创建了一个名为“spam_d.dll”的dll文件主要代码是staticPyObject*spam_system(PyObject*self,PyObject*args){constchar*command;intsts;if(!PyArg_ParseTuple(args,"s",&command))returnNULL;sts=system(command);returnPy_BuildValue("i",sts);}staticPyMethodDefSpamMethods[]={{"system",spam_

python - 如何让 python 加载混合模式 .dll 引用的 .NET .dll?

我有一个python.pyd,它是一个混合模式的C++DLL。DLL加载正常并加载非托管C++dll没有问题,但当它尝试加载托管C++dll引用的.NETdll时,它失败并显示此错误消息:UnhandledException:System.IO.FileNotFoundException:Couldnotloadfileorassembly'...'将这些.NETdll复制到包含pythod_d.exe的目录允许.NET库成功加载,但这不是一个好的长期解决方案。是否有我必须设置的环境变量或python_d.exe的一些命令行选项可以解决我的问题?请注意,使用IronPython或Pyt