草庐IT

DLL_PROCESS_VERIFIER

全部标签

windows - 尝试通过 LLDB 运行 Rust 程序时出现 "process launch failed: unknown error"

我无法在Windows10上使用LLDB启动Rust二进制文件:>cattest.rsfnmain(){println!("hello");}>rustc--version--verboserustc1.25.0(84203cac62018-03-25)binary:rustccommit-hash:84203cac67e65ca8640b8392348411098c856985commit-date:2018-03-25host:x86_64-pc-windows-msvcrelease:1.25.0LLVMversion:6.0>rustc-gtest.rs>.\test.exeh

c# - 来自 C# : why do I have to override new/delete? 的 mingw DLL

我正在尝试从Windows10上的C#调用最小的C函数。我使用mingw/g++将C代码编译成.dll事实证明,我必须定义opteratornew[]或使用VisualStudio编译.dll。否则我的C#程序会因以下错误而崩溃:程序“[14740]Test.exe”已退出,代码为-1073741819(0xc0000005)“访问冲突”。我真的很想了解这里究竟发生了什么,以及我如何在不覆盖所有新/删除运算符但仍然使用mingw的情况下解决这个问题。这是重现错误的最小示例,包括解决方法(如果定义了AddNewOperator,operatornew[]将被定义并且生成的.dll将正常工

c - 我应该在 DLL 导出函数上使用 __stdcall 吗?

我正在使用mingw-w64在C中编写一个小的DLL,它应该可以被VB.net程序调用。唯一的导出是参数和返回类型为原始类型的函数。我应该在dllexport函数上使用__stdcall吗?在网上搜索时,我看到了使用和不使用它的示例。讨论了它如何影响名称装饰,但没有关于这是否是一件好事以及对我的DLL的可用性有何影响的建议。 最佳答案 除非您需要调用以这种方式定义的现有接口(interface),否则确实没有充分的理由在任何地方使用非默认调用约定/ABI(__stdcall或其他方式)。这只是无缘无故的丑陋。它对现有Windows的

c++ - 在 native DLL 中嵌入多个同名资源 (RC) 文件

对于我的应用程序(一个MMC管理单元),我需要创建一个包含本地化为不同语言的字符串的本地DLL。换句话说,如果您要使用VisualStudio检查此DLL,您会看到多个字符串表,每个表与不同的区域设置相关联但包含相同的字符串ID。我想采取的方法是在我的项目目录下有各种子目录,例如“de”、“en”、“es”等(即每种语言一个)。每个子目录中都有一个名为“Resources.rc”的文件,它是包含该语言字符串的RC文件。在这种结构中拥有我的资源对于本地化团队来说是理想的。我已经设法创建了各种RC文件并将它们添加到我的VisualC++项目中。它们都正确显示在VisualStudio的解决

windows - 如何使用 Win32::API 调用 Win32 DLL void** 参数?

我有一个要从Perl调用的WindowsDLL。导出函数的原型(prototype)是:int__stdcallfunc(constchar*,int,int,int,double,double,void**);最后一个参数返回指向函数中分配的对象的指针。perl代码–my$dll_path="../stage/test_dll.dll";my$dll_func=newWin32::API($dll_path,'func','PIIIDDP','I');my$data="testsomethinghere";my$pResult=0;my$rc=$dll_func->Call($dat

windows - 从操作系统的角度来看,C++ 中动态加载 DLL 的内部机制?

我无法获得有关从C++动态加载DLL文件的很多信息。我知道它确实使用了一些函数,例如LoadLibrary和FreeLibrary与GetProcAddress。但是从操作系统的角度来看,它实际上是如何在内部工作的,比如它实际在哪里寻找DLL文件,以及它在哪里加载,比如内存?有人可以用一些图表帮助我吗? 最佳答案 DLL搜索顺序在MSDN中描述。,还有一个articleonDLLloading,和两部分articledescribingPEformat(parttwohere)(它们有点旧,但我不认为它们已经过时)。浏览MSDN杂志

c++ - 并排 : 3rd Party Dll refers to two versions of MSVCR80. DLL

我们包含一个3rdPartylib+DLL,它最近在安装上造成了很多麻烦。使用dependencywalker,我们发现dll本身引用了两个不同的VersionsMSVCR80.DLL:Version8.0.50727.4053andVersion8.0.50727.42alttexthttp://img101.imageshack.us/img101/1734/dependencywalk2.jpg在大多数情况下,即使我们不分发这两个版本,安装也不会出现问题。但在许多情况下,我们的安装并没有启动。然后我们在SideBySide管理器的Windows系统事件日志中找到消息:“DLL版本

windows - DLL 从其父级(加载程序)获取符号

我正在将程序移植到MSWindows。该程序使用动态加载的插件。插件在主程序中引用符号。如果不解析所有符号,我什至无法让DLL通过链接器。有办法解决吗? 最佳答案 (抱歉,我想在评论中要求澄清,但我是新手,不允许。)当您说插件“在主程序中引用符号”时,是指引用函数还是数据?另外,您使用的是什么语言/编译器?假设它只是关于函数,并且在C/C++中:可以从.EXE中导出一个函数,就像它是一个DLL一样。只需在.EXE中的函数定义前指定__declspec(dllexport)即可。编译.EXE时,应生成一个.LIB文件,然后您可以在链接

为 32 位系统编译的 C# 程序和 C++ DLL 在 64 位系统上崩溃

我有一个使用DLL的C#应用程序,因为我需要C++来访问user32API的一些非托管功能(我不能为此使用PInvoke)。我为x86架构编译应用程序和DLL,并且在Windows732位上一切正常。现在的问题是,在Windows764位上,当我尝试使用依赖于DLL的功能时应用程序崩溃(但其余所有工作正常)。我怀疑这是一个32/64位问题,所以我尝试为x64架构重新编译DLL,现在我可以在运行时选择在x86和x64之间加载哪个DLL。但是当我尝试使用依赖于DLL的功能时它仍然崩溃(这在我尝试将64位DLL加载到32位程序中时很有意义)。我还没有尝试为x64编译应用程序和DLL。我怀疑它

windows - winhttp.dll 一个标准的windows文件?

WinHttp.dll是标准的Windows文件吗?我的应用程序依赖于它,但我宁愿不在我的应用程序设置中部署它,除非它是必要的。 最佳答案 根据:http://msdn.microsoft.com/en-us/library/aa384273(v=vs.85).aspxWinHTTP5.1对5.0版进行了改进。它包含在操作系统中 关于windows-winhttp.dll一个标准的windows文件?,我们在StackOverflow上找到一个类似的问题: h