草庐IT

MY_DLL_N

全部标签

c++ - 在 dll 之间使用 STL 时遇到问题

我在一个dll中有一个vector(或字符串),通过它的引用或指针在另一个dll中修改它是否安全,例如将新成员推送到vector或更改字符串的值?不知何故,当我这样做时有时会发生崩溃,我不知道为什么。如果我只是在另一个dll中读取它,使用const指针或引用,它绝对安全吗?使用STLport怎么样?更安全吗? 最佳答案 如果你修改一个STL容器,删除或添加新元素到它,它通常涉及分配/取消分配内存。如果碰巧您使用驻留在一个DLL中的分配器分配了一些内存,然后在另一个DLL中释放内存-使用另一个分配器,驻留在另一个DLL中-那么您可能会

c++ - 导入 msado15.dll

我正在尝试导入一个dll,即msado15.dll。我可以用这个解决方案很好地做到这一点;#import\rename("EOF","AdoNSEOF")但我真的不能用这个分发任何东西。我已经尝试通过注册表并为它找到了一个libid,所以我正在尝试:#import"libid:2DF8D04C-5BFA-101B-BDE5-00AA0044DE52"rename("EOF","AdoNSEOF")但是我得到了这些错误1>Timestream.cpp(5):warningC4010:single-linecommentcontainsline-continuationcharacter1

c++ - msvcrt.dll 和 pcre 库出错

我写了一个C程序,在Windows7和Linux上运行良好,但是当我在WindowsXP上执行它时出现错误:"_except_handler4_commoncouldnotbelocatedinthedynamiclinklibrarymsvcrt.dll"我研究了一下,有人说要删除我没有的DLL“dwmapi.dll”,所以这不是我的问题。有人告诉我使用dependswalker(depends.exe)来查找谁在使用msvcrt.dll。我做了,发现pcre库正在使用它,实际上它有问题,但我不知道如何解决这个问题。谁能帮帮我?这是沃克给我看的图片: 最佳

windows-7 - 注册 DLL 时出错

我正在尝试使用命令regsvr32dll_name.dll注册DLL,但出现以下错误Themodule"Addition.dll"wasloadedbutentrypointDLLRegisterServerwasnotfoundMakesurethat"Addition.dll"isavalidDLLorOCXfileandthentryagain谁能帮我找出问题所在? 最佳答案 您要注册的每个DLL都必须具有DLLRegisterServer函数。每当您运行regsvr32.dllDLL_NAME时都会调用此函数。它基本上修改注

python - 使用 CTypes 时检测从 Windows DLL 调用 Python 脚本

我正在寻求在Windowsdll中添加功能以检测调用Python脚本的名称。我正在使用ctypes通过Python调用dll,如HowcanIcallaDLLfromascriptinglanguage?的答案中所述在dll中,我能够使用WINAPIGetModuleFileName()成功确定调用进程http://msdn.microsoft.com/en-us/library/windows/desktop/ms683197(v=vs.85).aspx.但是,由于这是一个Python脚本,它通过Python可执行文件运行,因此返回的模块文件名为“C:/Python33/Python

c++ - 从 Python 调用自定义的 C++ dll

我的C++IDE是VisualStudio2012ExpressVersion,我的PythonIDE是Aptana3(64位)。我的电脑是Windows764位系统。我用C++(Win32控制台应用程序)编写了一个.dll,它基本上遵循MSDN中的说明。.当我使用C++应用程序调用它时,它运行良好。然后我尝试通过以下代码从Python中调用它:importctypesd=ctypes.WinDLL("C:\\DynamicLibrary\\Debug\\MathFuncsDll.dll")但是,我遇到了以下错误:File"``",line1,ind=ctypes.WinDLL("C:

c# - Windows 服务 DLL 替换

如果我有一个已在函数内更新的DLL,我只需要为Windows服务更新它(DLL)-它是否可以由我工作,只需复制DLL并重新启动服务?还是必须遵循InstallUtil流程?谢谢 最佳答案 只需替换dll并重新启动即可。但是,您可能需要在替换之前先停止该服务,因为该dll“正在被另一个进程使用”。 关于c#-Windows服务DLL替换,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions

windows - Qt 应用程序从 Fortran 调用 Dll

这是我在QtApplication(Qt4\Qt5)从Fortran(CVF\IVF)调用Dll时遇到的问题。Qt4+Dll(CVF)+WinXp无论是在QtCreator中还是单独运行时,它都在我的PC上运行良好。不能在其他系统(xp或win7/8)下工作错误是“dll未加载”(.isLoaded()错误消息)然后我的PC坏了,换了一个新的,并通过IVF迁移到Qt5。但问题依旧:Qt5+Dll(IVFwithcomplier_platformwin32)+Win8无论是在QtCreator中还是单独使用,它都在我的PC上运行良好不能在其他系统(xp或win7/8)下工作错误是“dll

c++ - crt0 是否加载 msvcrt.dll?

我正在尝试弄清楚标准C函数(如printf())如何在Windows环境中加载到内存中。我知道crt0.obj准备堆栈,调用intmain(intargc,char**argv)然后使用main返回的退出代码退出进程。我还听说C标准函数位于一个名为msvcrt.dll的共享库中。我想知道crt0是否也加载msvcrt.dll或者是否有一个msvcrt.lib也由编译器自动链接。谢谢你,对不起我的英语:) 最佳答案 总会有一个运行时环境,例如msvcr80.dll(适用于Windows变体),在您安装环境时加载,不管它是什么,即MSV

c# - 在 64 位进程中加载​​ 32 位 dll

这个问题在这里已经有了答案:Target32Bitor64BitnativeDLLdependingonenvironment(3个答案)DllImport-Anattemptwasmadetoloadaprogramwithanincorrectformat[duplicate](1个回答)关闭8年前。社区在8个月前审查了是否重新打开此问题,然后将其关闭:原始关闭原因未解决我希望我的C#应用程序有条件地运行native方法,有条件地选择运行dll的x86或x64版本。每当我尝试加载32位dll时,我都会收到以下错误:UnhandledException:System.BadImage