草庐IT

DLL_EXPORT

全部标签

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

windows - 了解对 dll 文件的注册表数据引用的负偏移量

我几乎有了mylastquestion的答案,但我需要帮助。Windows防火墙规则(Vista及更高版本)存储在注册表HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules示例规则:v2.0|Action=Allow|Active=TRUE|Dir=Out|Protocol=6|Profile=Domain|RPort=5722|App=%SystemRoot%\system32\dfsr.exe|Svc=Dfsr|Name=@FirewallAPI.dll

windows - 各种 Windows 版本附带的 Kernel32.dll 版本列表?

我正在尝试找出真正的Windows版本。出于某种原因,我的Wise安装程序有时会在Windows7上报告XP版本号。一种解决方案是查看此处提到的kernel32.dll版本:HowtodetecttrueWindowsversion?我正在尝试找出各种Kernel32.dll版本对应的Windows版本。 最佳答案 我找不到每个Windows版本的Kernel32.dll版本列表,但从测试(XPSP3、Vista、Windows7)来看,Kernel32.dll版本#(Major.Minor)与Windows版本相同.我具体找到了什

python - 避免将 DLL 放入 CWD

是否可以避免将DLL与使用它们的脚本放在同一目录中?我希望能够将一个DLL放在一个地方,并让任何脚本都可以访问它。ctypes.CDLL()似乎只能找到CWD中的DLL。将它们放在sys.path或System32中的某处是行不通的。具体来说,我试图让UniCurses找到pdcurses.dll,但它不在CWD中。 最佳答案 尝试:pdcurses_path=ctypes.util.find_library('pdcurses.dll')ifpdcurses_path:pdcurses=ctypes.CDLL(pdcurses_p

windows - Windows 的哪一部分加载 mscoree.dll?

我知道.NetFramework运行时包含在mscoree.dll中。任何人都可以帮助我知道Windows操作系统的哪个部分或Windows的哪个进程将此dll加载到内存中。提前致谢。 最佳答案 如果您使用的是windows7,则可以使用ResourceMonitor。在您的任务管理器中的性能标签中。在底部有ResourceMonitor按钮。在CPU选项卡中,您可以选择要监视的进程。全选并根据名称对Handles进行排序。现在您应该看到哪些正在运行的进程正在使用您的dll。 关于win

windows - 在 64 位 Windows Server 2008 Standard SP2 IIS 7 上注册一个 dll

项目:VS2010C#类库。本地机器:Win764bit项目中更改了以下项目:属性/AssemblyInfo.cs[程序集:ComVisible(true)]项目/属性/构建选项卡:为Interop注册Com:选中生成序列化程序集:自动我已经根据以下帖子设置了带有接口(interface)、comvisible=true和guids等的测试类:BuildingaCOMinteroplibraryforASPClassicusing4.0frameworkandVisualStudio2010我能够通过regasm在我的本地机器上注册这个dll。C:\windows\Microsoft.

c++ - Windows调用的DLL与主程序如何通信?

我正在尝试将SNMP代理集成到用nativeC++编写的Windows应用程序中。要使此代理成为WindowsSNMP代理的子代理,必须编写一个DLL来导出某些由WindowsSNMP服务调用的例程。到目前为止一切正常。现在这个DLL需要从应用程序中获取实际信息。我的第一个想法是让应用程序和DLL使用双方都可以访问的共享内存块,但这会使信息总是略显陈旧,最好在SNMP请求进入时运行一些代码来获取最新值。双方将读写信息。该应用程序已经有一个基于TCP的控制台接口(interface),但是对于来自SNMP客户端的非常频繁的请求,连接、查询、断开连接可能有点繁重。让DLL直接与应用程序通信