草庐IT

AppInit_DLL

全部标签

c++ - 使用 DEF 从 Visual Studio 2010 中的 DLL 导出函数

我继承了一个庞大的C++多项目解决方案,其中包含许多动态库,但没有任何__declspec(dllexport)我learned一个人不一定必须插入任何dllexport(这会很麻烦)但是除了相应的.dll.def文件em>代替。为了尝试,我从here构建了一个“DLLHelloWorld”项目,从header中删除了dllexport并且...绝望地失败了。用已经的话cited页面,我的关键问题是如何"[..]usethe.deffilewhenbuildingtheDLL."我的.def文件是(我只使用Add方法尝试代码):LIBRARYMathFuncsDllEXPORTS?Ad

c# - vcruntime140.dll 与 vcruntime140d.dll

这两个dllvcruntime140.dll和vcruntime140d.dll有什么区别?为什么我们需要它们?它们都是MicrosoftVisualC++2015Redistributable的一部分吗?用谷歌搜索了一段时间,但找不到任何我能理解的东西。一些背景:我有一个C#程序可以在Windows10机器上运行但不能在WindowsVista上运行,看起来是因为我的WindowsVista机器上没有vcruntime140d.dll。 最佳答案 虽然我在Microsoft的站点上找不到任何权威的内容,但他们始终提供每个DLL中的

c++ - 拆解 C++ DLL 函数名称

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:HowdoIstopname-manglingofmyDLL'sexportedfunction?我有一个用C++编写的DLL。导出的函数名称需要进行整理。例如,intMyFunc(intParam1,intParam2);需要出现在外部应用程序中,试图简单地调用库函数MyFunc.但是,当我使用DependencyWalker查看它时,它看起来像_MyFunc@8.这就是我在C++中声明它的方式:extern"C"__declspec(dllexport)intWINAPIMyFunc(intParam1,

c++ - 在 C 中创建 DLL 并从 C++ 项目链接它

根据标题,我正在尝试使用C构建DLL并从C++项目链接它。我在互联网上阅读并遵循了不同的教程,但每次都会缺少一些东西,我不明白是什么。这是我一步一步做的:我创建了一个新的Win32项目,命名为teSTLib,然后,从向导中,我选择了“DLL”和“空项目”。添加了一个标题://testlib.h#include__declspec(dllexport)voidhello();添加了一个来源;因为我希望它成为我阅读的C源代码,所以我应该简单地重命名.c中的.cpp文件,所以//testlib.c#include"testlib.h"voidhello(){printf("DLLhello(

c++ - 在哪里可以找到 Qt 的 dll 的 pdb 文件?

我正在调试Qt应用程序。我在哪里可以找到Qt的调试dll?我在Windows上使用vs2010。它说它需要来自Qt的许多.dll的pdb文件。 最佳答案 从Qt5.9开始,对应于Windows发行版的PDB可以作为单独的.zip文件从这个存档中下载:https://download.qt.io/archive/qt/只需浏览到您的特定发行版并根据需要在“uwp”或“桌面”PDB之间进行选择。 关于c++-在哪里可以找到Qt的dll的pdb文件?,我们在StackOverflow上找到一个

c++ - 用 C/C++ for windows 开发时省略 msvcr100.dll?

是否可以在Windows中使用C/C++进行开发而不链接到msvcr100.dll?我知道这是windows的标准c库,但我想知道如果我没有安装VisualStudio或Redistributable软件包,我的计算机上的所有程序如何运行? 最佳答案 在“解决方案资源管理器”窗口中右键单击您的项目,属性,C/C++,代码生成,运行时库设置。将其更改为/MTd。重复发布配置,选择/MT您现在将链接CRT的静态版本,您使用的任何函数都将直接链接到您的EXE,而不是在运行时从msvcr100.dll中获取它们。因此,您不再需要将DLL与您

c++ - 从 dll 中的函数返回时堆损坏

我有一个原型(prototype)如下的函数:voidfunction(std::stringstr);这个函数在我的主函数中被另一个加载和使用该dll的程序调用。function("somestringvaluehere");从这个函数返回时我得到堆损坏错误:Windowshastriggeredabreakpointinprogram.exe.Thismaybeduetoacorruptionoftheheap,whichindicatesabuginprogram.exeoranyoftheDLLsithasloaded.Thismayalsobeduetotheuserpres

c++ - 如何在exe中包含所有dll?

我有一个VisualStudio12项目;用C++编写的源代码;这是一个OpenCV项目。我想将我编译的程序提供给其他人,但是在其他PC上,我收到有关缺少某些dll的错误消息。我的程序使用了很多OpenCV(也许,不仅仅是)dll。我该如何解决这个问题?也许在VS12中可以选择将所有dll包含在.exe中?这是一个非常相似的问题,没有正确的答案:includedllsinvisualstudioc++2008 最佳答案 DLL本身不能“静态链接”到可执行文件中;这完全违背了他们的目的(嗯,实际上你可以使用一些非常奇怪的巫术技巧来实际

c++ - 多次加载同一个dll

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭10年前。我想加载相同的dll,例如Lib.dll多次!->需要为每个LoadLibrary创建一个新进程(CreateProcess函数)!有人有例子或一些提示吗?!谢谢和问候

c# - 检测到严重错误 c0000374 - C++ dll 将已分配内存的指针返回给 C#

我有一个c++dll,它为我的主要c#应用程序提供一些功能。在这里,我尝试读取一个文件,将其加载到内存中,然后返回一些信息,例如指向加载数据的指针和内存块计数到c#。Dll成功将文件读取到内存,但在返回到主应用程序时,程序因堆损坏而崩溃(检测到严重错误c0000374)。代码非常简单明了,我以前做过一些类似的事情,没有问题,但是我无法弄清楚是什么导致了这里的问题,我尝试使用“new、malloc和GlobalAlloc”分配内存,但都没有帮助。代码如下:C++MyDll:typedefunsignedlongU32;extern"C"__declspec(dllexport)intRe