草庐IT

dll丢失

全部标签

c# - 你将如何声明 DLL 导入签名?

这是UsingpHashfrom.NET的后续帖子您将如何在.NET中声明以下C++声明?intph_dct_imagehash(constchar*file,ulong64&hash);到目前为止我有[DllImport(@"pHash.dll")]publicstaticexternintph_dct_imagehash(stringfile,refulonghash);但是我现在遇到以下错误ulonghash1=0,hash2=0;stringfirstImage=@"C:\Users\dance2die\Pictures\2011-01-23\177.JPG";stringse

c++ - 如何将字符串从 DLL 返回到 Inno Setup?

我需要向调用InnoSetup脚本返回一个字符串值。问题是我找不到管理分配内存的方法。如果我在DLL端进行分配,那么在脚本端就没有任何东西可以解除分配。我不能使用输出参数,因为Pascal脚本中也没有分配函数。我该怎么办? 最佳答案 下面是一个示例代码,说明如何分配从DLL返回的字符串:[Code]FunctionGetClassNameA(hWnd:Integer;lpClassName:PChar;nMaxCount:Integer):Integer;External'GetClassNameA@User32.dllStdCal

RabbitMQ解决消息丢失以及重复消费问题

文章目录1、概念2、基于ACK/NACK机制2.1基于SpringAMQP框架整合ACK/NACK机制2.2测试消费失败1.02.3测试结果1.02.4测试MQ宕机2.5测试结果2.03、RabbitMQ如何实现幂等性设计3.1幂等服务设计思路3.1.1通过雪花算法生成分布式唯一ID3.1.2通过枚举类,设计Message消费状态3.1.3生产者3.1.4消费者3.1.5测试结果1、概念RabbitMQ作为一款消息中间件,其设计目标之一就是保证消息的可靠性。要实现RabbitMQ消息不丢失,可以从以下几个方面进行配置和优化:生产者确认机制(PublisherConfirms):生产者在发布消息

Qt静态链接库(.lib .a)、动态链接库(.dll)创建和使用教程

1库介绍先对库进行介绍,后对Qt静态链接库(.lib.a)、动态链接库(.dll)进行创建和使用的介绍!库是什么库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。库有两种:静态库(.a、.lib)和动态库(.so、.dll)。所谓静态、动态是指链接。回顾一下,将一个程序编译成可执行程序的步骤:静态库是什么之所以成为【静态库】,是因为在链接阶段,会将汇编生成的目标文件.o与引用到的库一起链接打包到可执行文件中。因此对应的链接方式称为静态链接

c++ - DLL 项目不生成 .exp 和 .lib 文件

所以,我有一个包含3个项目(2个DLL和1个.exe)的C++解决方案。这是基本的依赖表示:应用程序-->DLL2应用程序-->DLL1DLL2-->DLL1我遇到的问题是DLL2(在构建它时)确实会生成.dll但不会生成.lib和.exp我需要在应用程序项目中正确引用DLL2。但是,DLL1确实会生成这些文件,而且我已经将DLL1的设置与DLL2的设置进行了比较,但我找不到可能存在的差异。 最佳答案 对此的简单解释是您只是忘记导出任何内容。如果没有导出,链接器将不会创建.lib/.exp文件。您可以通过在DLL上运行dumpbin

c++ - 什么是 "api-ms-win-*-*-lx-x-x.dll"伞形库?

我经常遇到长文件名的DLL,就这样。例如只有两个:"api-ms-win-appmodel-runtime-l1-1-1.dll"或"api-ms-win-appmodel-identity-l1-2-0.dll"。显然微软称它们为“umbrellalibraries”。我最初的理解是它们只是具有新文件名的新D​​LL,但后来我尝试搜索这些文件。好吧,我找不到它们作为磁盘上的物理文件...所以我很好奇,它们是磁盘上不存在的某种虚拟DLL文件名吗?WCHARbuff[MAX_PATH];buff[0]=0;GetSystemDirectory(buff,MAX_PATH);StringC

c# - C++ dll 返回的字符串在 C# 调用程序中已损坏,为什么?

我有一个调用C++DLL的C#应用。在C#中,我有如下代码:[DllImport(@"111.dll",CharSet=CharSet.Unicode)]publicexternstaticStringFunc1(Stringarg);......Stringarg="testtext";Stringretstring=Func1(arg);在CPP中,我定义的函数如下:extern"C"{__declspec(dllexport)LPWSTRFunc1(LPWSTRarg){....LPWSTRret1=L"1?2?3?4?5";LPWSTRret2=SomeActualFuncti

c++ - MSVCP110D.dll 和 Visual Studio 2013

我正在尝试运行我在VisualStudio2013中编译的程序。但是,我收到错误Theprogramcan'tstartbecauseMSVCP110D.dllismissingfromyourcomputer.Tryreinstallingtheprogramtofixthisproblem.这不是一个非常有用的错误。然而,在一些谷歌搜索之后,我发现它(显然)试图动态加载一个标准的c++库,为了解决这个问题,我需要指定/MT选项而不是/MD选项。这给我留下了一些问题:它到底在做什么?/MD与/MT相比有什么好处?我的意思是,它是默认选项肯定是有原因的...我将如何着手寻找.dll并让

c++ - 如何在 Delphi 中使用由 dll 导出的 C++ 类

有没有办法在Win32的Delphi中使用由win32dll导出的C++类?是否有其他方法来实现类似的东西(COM、.NET等)? 最佳答案 你不能导入一个类。您只能导入函数。RudyVelthuishaswrittenatlengthonthetopic.尽管您不能直接使用导出的C++类,但他描述了一些实现相同效果的技术:“扁平化”对象,因此在调用方不再有对象,只有一个指针连同其他参数一起传递给DLL,用于包装对象方法的一系列函数。编写包装器非常简单,尽管它可能很乏味。使用纯虚类。WindowsC++编译器和Delphi通常具有相

c# - C# AnyCPU 项目能否包含平台特定的 dll

我们的产品基于大量C++项目,但我们现在将C#项目用于前端。我们现在也在做64位版本。我们的计划是将所有C#dll构建为AnyCPU。C#项目将引用公共(public)bin文件夹中的C++dll。在构建x64时,bin文件夹将包含我们的c++dll的x64版本,而在构建Win32时,bin文件夹将包含我们的C++dll的32位版本。因此,C#项目将构建AnyCPU,但包括x64或Win32c++dll。我的问题是,这行得通吗?在运行时,一切都应该是全部32或全部64,具体取决于我们正在运行的exe,但是编译时可以处理针对包含平台特定dll的AnyCPU的项目吗?还是我们必须制作所有C