草庐IT

DLL_EXPORT

全部标签

c++ - DLL 内部的内存分配返回空指针

我正在使用一个DLL,它执行一些内存分配并返回一个指针。代码是这样的:ObjectClass*obj=FunctionFromDLL();obj是有效指针,但obj->SubObject是错误指针(0xcdcdcd)我检查了FunctionFromDLL()正确分配了SubObject,只有当函数返回给调用者时,这个指针才会得到一个错误的值。DLL有什么特殊的东西可以“共享”它的内存吗? 最佳答案 在dll和应用程序之间没有共享分配内存的特殊方式,只要确保在不再使用dll后删除内存即可。编辑:0xCDCDCDCD:由Microsof

windows - 重定向插件 DLL list 中的依赖 DLL

我正在编写一个DLL,它很可能通过调用LoadLibrary来加载,并指定它已安装位置的绝对路径。(对LoadLibrary的调用很可能在第三方应用程序中进行,客户必须将应用程序配置为指向我的DLL。)问题是我的DLL依赖于与我安装在同一目录中的其他DLL-但该目录不在DLL搜索路径上。我想我需要将一个list与我的主DLL相关联,它指向我的辅助DLL...有人有这样做的例子吗?注意:这不是托管代码-仅限native代码。 最佳答案 对于遇到同样问题的其他人,我最终通过将所有辅助DLL标记为延迟加载,然后从主DLL的目录中加载延迟加

windows - 为什么 g++ 找不到/链接到 qjpeg4.dll?

使用QtCreator2.4.1(Windows/mingw),我正在尝试编译我的项目,动态链接一些Qt图像插件(即C:\QtSDK\Desktop\Qt\4.8.1中的插件)\mingw\plugins\imageformats\)。在.pro文件中:QTPLUGIN+=qjpegqgifqicoqtiff这是错误:g++-Wl,-s-mthreads-Wl,-subsystem,windows-orelease\myproject.exeobject_script.myproject.Release-L"c:\QtSDK\Desktop\Qt\4.8.1\mingw\lib"-lm

php - 我在哪里可以获得适用于 Windows 的 php 5.4.4 的 OAuth dll?

谁能告诉我从哪里可以获得php5.4.4forwindows的php_oauth.dll? 最佳答案 你能看看这篇文章吗,它讨论了如何在Windows上安装它。http://katieseaborn.com/masters/prototype/installing-oauth-on-windows/以及这篇旧的StackOverflow帖子。howtoinstalltheoauthinphp 关于php-我在哪里可以获得适用于Windows的php5.4.4的OAuthdll?,我们在S

c++ - 插件 DLL 引用的 DLL 的搜索路径

我正在使用nativeC++编写Windows应用程序插件(作为DLL)。我们称它为myplugin.dll。我的插件引用了另一个DLL,我们称之为other.dll。我的插件安装在应用程序的plugins目录的myplugin子目录中:application.exeplugins\myplugin\myplugin.dllmyplugin.dll隐式链接到other.dll。我无法延迟加载other.dll,因为它公开了具有虚拟方法的类,并且虚拟方法表被视为数据,无法从延迟加载的DLL中导入它们。我很自然地希望将other.dll放在plugins\myplugin目录中,在mypl

c# - 将 C# 项目转换为 C++ 项目的 Dll

我是C#的新手。我目前正在学习C#代码。我的最终目标是将C#项目转换为dll,以便我可以在我的C++exe中使用它。我正在使用VS2005。我想知道这是否可能,如果可以,我将不胜感激在这方面的一些指导和建议,请回复, 最佳答案 为什么不从托管库中创建一个com对象并从非托管C++代码中调用它?如果您知道如何在C++中管理com,那么这样做就相对容易了。http://msdn.microsoft.com/en-us/library/aa645736(v=vs.71).aspx 关于c#-将

c# - 我应该使用 .NET 应用程序部署 Interop.x.dll 文件吗?

我们有一个.NET应用程序,它在不同的DLL中使用COM对象,也用于我们应用程序的VB6部分。引用COM库时,VisualStudio2012会创建一个Interop.x.DLL并引用它。我应该从构建机器分发Interop.x.DLL还是使用某些.NET命令行工具重新生成它?什么工具?部署引用COM的.NET应用程序的最佳做法是什么? 最佳答案 不,从VS2010和.NET4.0开始就不再需要了。您只需将互操作程序集引用的EmbedInteropTypes属性设置为True。默认设置。使用此选项后,互操作类型将被复制到您自己的程序集

C# 等效于 VB DLL 函数声明 (InternetSetOption)?

此VB代码的C#等效项是什么?PrivateDeclareAutoFunctionInternetSetOptionLib"wininet.dll"(ByValhInternetAsIntPtr,ByValdwOptionAsInteger,ByVallpBufferAsIntPtr,ByVallpdwBufferLengthAsInteger)AsBoolean 最佳答案 Hereitis:[DllImport("wininet.dll",SetLastError=true,CharSet=CharSet.Auto)]public

c# - 使用 process.start 使用 cmd 运行 .NET 核心应用程序 (.dll)

我是.NETCore2.0的新手,所以我可能做错了,如果是的话请告诉我。我有一个.NETcore2.0应用程序,它应该是跨平台的,因此该应用程序是一个.dll控制台应用程序,它在所有平台上都能正常工作。我正在尝试实现一种看门狗,在必要的情况下,它会self复制,并以与调用它相同的方式>$dotnetprocess.dll我的代码是:varprocess=newProcess{StartInfo=newProcessStartInfo{FileName="dotnet",Arguments="path\release\PublishOutput\proces.dll"UseShellEx

C# DLL注入(inject)

是否可以使用C#将DLL文件注入(inject)到explorer或svchost等进程中?我知道这在C++中是可能的,但它在C#中吗?如果是这样,DLL的编写方式是否重要,例如C++DLL或VisualStudioC#.NETDLL之间有什么不同吗?如果这完全可能,有人可以发布我可以用来执行此操作的代码。非常感谢。 最佳答案 是的,这是可能的:http://www.codingthewheel.com/archives/how-to-inject-a-managed-assembly-dll由于该链接似乎已关闭,这里有一个缓存版本