草庐IT

DLL_EXPORT

全部标签

c++ - 在旧的 Borland C 中使用 Visual C++ DLL?

我必须支持使用旧Borland编译器(BC5)用C编写的旧应用程序。不幸的是,我们使用的旧TCP/IP库开始显示出它的年龄,并且在Vista和Win7机器上出现问题。我有一个新的可用于MSVisualC++的函数库,我想用它来制作一个可以从BorlandC调用的DLL。所以,我有两个问题:1)如何使VisualC++DLL可从BorlandC程序调用,以及2)如果它是可调用的,如何从普通的旧C调用C++函数?理想情况下,整个项目都应转换为VisualC,但有许多遗留功能将使该项目成为一项重大任务!我正在寻找一个快速补丁来让它存活更长时间:)史蒂夫 最佳答案

c++ - 找不到 tbb.dll

我在opencv2.3中使用cvCanny函数,它编译正常,但在执行时出现错误,提示未找到“tbb.dll”。这个dll有什么用,我在哪里可以找到它??谢谢, 最佳答案 它是英特尔ThreadingBuildingBlocks的一部分图书馆。您可以在您的OpenCV安装中的/build/common/tbb以及您正在使用的平台和编译器下找到它的拷贝。例如,在c:\OpenCV-2.3.1\build\common\tbb\intel64\vc9 关于c++-找不到tbb.dll,我们在S

c# - 从 native C++ 调用 .NET dll

我在使用COM包装器调用.NETdll(mclNET.dll)时遇到问题。这是我没有源代码的第三方dll。基本上我想在我的纯nativeC++应用程序中使用这个mclNET.dll,所以我正在开发一个C#包装器。MCLWrapper.dll,它使mclNET.dll中的方法可见。这是我所做的:在MCLWrapper.dll中,我添加了mclNET.dll作为引用,然后定义接口(interface)来制作mclNET.dll>方法可见。这是我的一些代码:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSy

c++ - 在另一个项目中使用模板函数作为 dll

我有一个像这样的简单函数:尖点.dll#defineEXPORTextern"C"__declspec(dllexport)EXPORTvoidcuspDsolver(int*r,int*c,double*v,double*x,double*b,intsize,intnnz,doubletol){.....}然后我使用这两行创建了一个dll:#defineEXPORTextern"C"__declspec(dllexport)EXPORT我在其他项目中使用这个方法调用了这个函数:HINSTANCEhDLL=LoadLibrary("C:\\Users\\Administrator\\D

c++ - azure 网站是否支持 p/invoke 加载 native c++ dll

我找到了this说azureweb/worker角色可以加载nativec++dll。azure网站是否也支持此功能?我的站点是一个mvc站点,它p/调用一个本地c++dll,它从本地驱动器读取文件并进行一些计算。我更喜欢azure网站的原因是因为它从免费开始。谢谢。 最佳答案 Azure网站还可以加载nativedll。我刚刚成功了。以下是步骤(引用here):编译您的解决方案。右键单击托管项目并选择“添加/现有项目”。不要使用“添加引用”。导航到已编译的nativeDLL并选择它(根据需要调整文件类型)。单击“添加”拆分按钮中的

c++ - 删除在 DLL 中创建的对象

删除在DLL中创建的对象时,我需要一些有关运行时/堆问题的说明。在我提出问题之前需要一些介绍...在我的项目中,一个DLL(由其名称指定)返回一个新的Grabber对象。在我的代码的早期版本中,DLL导出了如下函数:extern"C"__declspec(dllexport)Grabber*CreateGrabber(stringsettings){returnnewSomeSpecificGrabber(settings);}在EXE中,我使用了这样一个静态函数来创建一个新的Grabber对象:staticGrabber*createGrabberObject(conststd::s

c++ - 如何在不使用 dbghelp.dll 的情况下在 Windows 上获取堆栈跟踪?

如何在不使用dbghelp.dll的情况下在Windows上获取地址堆栈跟踪?我不需要知道与地址关联的符号或函数名是什么,我只需要地址列表--类似于backtraceof*nixsystems的内容。谢谢! 最佳答案 查看CaptureStackBackTrace()函数,它在Kernel32.dll中。这应该可以满足您的所有需求。Capturesastackbacktracebywalkingupthestackandrecordingtheinformationforeachframe.USHORTWINAPICaptureSt

c++ - DLL函数调用的开销

从DLL调用函数时性能损失有多大?加载DLL对我们来说不是问题,对我们的highperf库的调用次数不会很大。大约,一次调用接管静态库调用需要多少指令/时钟周期? 最佳答案 我的答案是基于Linux/glibc/ELF动态链接器的工作原理,但我认为其他平台的总体答案是相同的:第一次调用动态加载的符号和接下来的调用是有区别的。第一次调用很昂贵,可能涉及许多周期。所有其他调用都或多或少1-2个指令。它的工作方式是链接器在过程链接表中设置一个条目,从全局偏移表中获取该外部函数的地址。首先调用GOT的地址指向一个运行动态链接器的stub来解

.net - 64 位 Win 上缺少 dll

我有一个.net应用程序,它使用一些vc++编译的Win32dll。它在32位Win上运行良好,但在64位上存在问题:“无法加载DLL'xyz':找不到指定的模块。(HRESULT异常:0x8007007E)”使用dependencywalker我发现它缺少以下dll:MSVCP100.DLL、MSVCR100.DLL、GDIPLUS.DLL、GPSVC.DLL、IESHIMS.DLL如何将它们安装到我的64位Win中?我应该把它们放在哪里?我应该注册他们吗?或者……?请注意,我的项目是为x86平台编译的,它作为32位应用程序从ProgramFiles(x86)文件夹运行。我的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