草庐IT

DLL_EXPORT

全部标签

c++ - 在运行时在 v110 可执行文件中使用 v90 COM dll 是否安全?

在使用v110编译器构建的可执行文件中使用使用v90编译器构建的COMdll是否安全?可执行文件在运行时通过COM接口(interface)使用v90dll(它不是#imported)。可执行文件是根据dll的tlb构建的。两者都静态链接到MFC,并且都使用/MT版本的运行时库。我的理解是这是可能的,但并不安全。由于存在使用注意事项(即内存分配不同,因此不能在dll中分配对象并在可执行文件中删除对象,因为这会导致意外行为)。有人可以为我澄清一下吗? 最佳答案 是的,它是安全的。前提是您遵守COM规则。COM规则是ABI1规则,包括与

c - 访问dll中的全局变量

如何在dll中访问在我的应用程序的main()函数中初始化的全局变量?我的全局变量包含一个关键部分对象,我需要将其锁定在一个dll中。我已经尝试在我的应用程序中导出它并使用它在dll中导入__declspec(dllexport)和__declspec(dllimport)但是当我尝试锁定关键部分时,我得到一个运行异常,这让我认为我的dll访问的变量没有正确初始化。dll在运行时使用LoadLibrary加载。如有任何提示,我们将不胜感激。 最佳答案 通常从应用程序访问DLL中的变量,但看起来您正试图以相反的方式进行访问。而且您从应

c++ - 将 DLL 作为 exe 启动

是否可以将native(C++)DLL作为可执行文件加载?最好直接从内存中提取,而不在硬盘驱动器或类似的东西上创建EXE? 最佳答案 Microsoft提供Rundll32.exe可用于执行已明确编码以支持此用法的DLL函数。 关于c++-将DLL作为exe启动,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/9039895/

c# - Windows 7 Message Box 的图标存储在哪里 [.DLL]

有谁知道Windows中的MessageBox符号存储在哪里(错误图标、感叹号图标...)。我认为它们在.dll文件中! 最佳答案 使用System.Drawing.SystemIconsclass访问Windows中使用的常用图标。它包括MessageBox中使用的图标。从技术上讲,您可以在VisualStudio中使用文件+打开+文件并导航到c:\windows\system32\user32.dll来获取这些图标。然而,这是不合法的。也不能保证它们在更高版本的Windows上看起来相同,它们可能不会。请改用SystemIcon

windows - 如何在 Delphi 的多线程中加载一个 DLL?

也许我错过了什么,我不知道这里发生了什么。我正在尝试在TThread对象的多个实例中加载同一个DLL。这是我的DLL代码:libraryMyCalcFor32;usesSysUtils,Classes,uRunnerin'uRunner.pas';ExportsEVal;{$R*.res}beginend.这是uRunner.pas:unituRunner;interfaceusesSysUtils,Classes;functionEVal(Valor:WideString):WideString;stdcall;export;implementationfunctionEVal(Va

c++ - 丢失 DLL 的一般方法

我想每个人都时不时遇到丢失dll的问题。我想要获得的是查找和安装dll的“推荐”方法。使用depends.exe很容易找出缺少的dll。 最佳答案 不要再使用depends.exe,它跟不上Windows核心和并行缓存等部署策略的发展。试图修复它给出的警告实际上会使您的机器变得非常糟糕。仅在程序实际无法启动时将其用作提示。 关于c++-丢失DLL的一般方法,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co

c++ - 从 C++ 类制作 Visual C++ DLL

我有以下C++代码来制作dll(VisualStudio2010)。classShape{public:Shape(){nshapes++;}virtual~Shape(){nshapes--;};doublex,y;voidmove(doubledx,doubledy);virtualdoublearea(void)=0;virtualdoubleperimeter(void)=0;staticintnshapes;};class__declspec(dllexport)Circle:publicShape{private:doubleradius;public:Circle(dou

windows - EXE、DLL、SYS等文件类型是如何一起调用的?

我想知道所有具有可执行内容的文件的正确名称是什么?在.NET世界中,它被称为程序集。Windows世界中有任何通用术语吗? 最佳答案 我只是称它们为二进制文件或可执行文件。 关于windows-EXE、DLL、SYS等文件类型是如何一起调用的?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/8400410/

c - 在 Windows XP 中手动更新 shell32.dll 是否安全/实用?

我正在运行我的开发环境WindowsXP。我需要访问函数SHGetKnownFolderPath。我的团队建议我用他们的更新我的shell32.dll并更新我的头文件。函数记录在这里:http://msdn.microsoft.com/en-us/library/bb762188%28v=vs.85%29.aspx现在,了解这个问题的重点是通过复制粘贴手动覆盖/更新shell32.dll的可行性。请不要以上述功能的解决方法/替代方案作为回应。这不是这个问题的重点。简单地使用Windows7版本的shell32.dll并粘贴到我的(在XP中)是否安全?我不敢测试它,因为害怕毁了我的整个操

windows - 如何让 powershell 告诉我丢失的 DLL?

我在Windows中使用powershell作为shell。当我尝试启动一些在PATH环境变量中缺少dll依赖项的应用程序时,没有任何反应,powershell只是静默返回新的命令提示符。有没有办法让powershell的失败声音更大,告诉我到底缺少什么,就像默认的cmdshell一样? 最佳答案 我遇到了同样的问题。PowerShell正在将$LASTEXITCODE代码设置为-1073741515(0xC0000142,3221225794),但没有输出解释实际错误.通过cmd.exe运行它时,我会弹出类似的内容:Thecode