C#调用非托管C++DLL中的函数接口

问题描述

C#调用非托管C++DLL中的函数接口(有生成的DLL文件和Lib文件)怎么引用?引用项添加不了

解决方案

解决方案二:
使用DllImport,添加引用只能针对.NET控件或COM组件。
解决方案三:
DllImport具体搜p/Invokehttp://www.cnblogs.com/xuqiang/archive/2010/12/21/1953355.html
解决方案四:
C++DLL中的函数中还调用了openCV的函数,能说一下怎么整么?
解决方案五:
引用3楼qq_28744297的回复:

C++DLL中的函数中还调用了openCV的函数,能说一下怎么整么?

c++中调用其它库函数,可以采用动态编译,也可以采用静态编译这个和托管代码调用非托管代码无关吧
解决方案六:
lib是静态链接库用c++重新封装成动态dlldll可以直接dllimport调用

时间: 2024-08-22 15:24:21

C#调用非托管C++DLL中的函数接口的相关文章

C#调用非托管动态库中的函数

C#如何调用一个非托管动态库中的函数呢,比如用VC6写的动态库,总之C#调用动态库的过程是比Java调用DLL动态库方便快捷多了,下面举例说明这个过程. 1.创建一个非托管动态库 代码如下: //这一句是声明动态库输出一个可供外不调用的函数原型. extern "C" __declspec(dllexport) int add( int , int ); int add( int a, int b) { //实现这个函数returna+b; } 注意上面代码,一定要加上 extern&

.net 服务多线程 调用非托管C++DLL 如何防止 服务崩溃?

问题描述 .net 服务多线程 调用非托管C++DLL 如何防止 服务崩溃? 有一个.net服务,服务中开了多线程.其中有一线程会去调用非托管C++DLL,并阻塞等待其返回值.其他线程同步做文件处理.数据状态更新等操作.现在调用非托管C++DLL的线程会因为非托管代码的问题,崩溃.这样整个服务也就崩溃了!需要人工去服务器上重启该服务!请问:如何防止整个服务崩溃?是否可以捕获非托管C++中的错误.因为已经try catch了,但什么都捕获不到,直接服务崩溃! 解决方案 这个应该要想办法解决C++

c++-C#调用C++动态库DLL中的函数

问题描述 C#调用C++动态库DLL中的函数 C#调用C++动态库DLL中的函数,此函数参数中有bool(小写)类型的参数.c#该如何进行转换 解决方案 C#调用C++动态库dllC#调用C++动态库(dll)C#动态调用C++编写的DLL函数 解决方案二: bool类型的true 或false一般对应1和0.有的语言没有bool类型的.传递参数时可用整型替代. 解决方案三: public static extern int RD_CloseCom(bool IsOpen); 解决方案四: 在C

在Delphi中调用.Net编写的DLL中的函数

最近因公司群发邮件程式需要给注册一段时间没有激活的用户发激活邮件,邮件中有注册密码 需要还原发给用户 但由于密码加密是用C# 中的TripleDES完成,手头上又没有现成Delphi的实现.时间紧急,现翻译是来不及了,于是经过查资料反复实施 终于成功实现在Delphi中调用 C# 封装的DLL中的方法(Function)和过程(Procedure)现把实施步骤写下,以供有需要的XDJM分享: 1.建立:DotNetFunc.cs 封装要使用的Function.Procedure. 2.生成密钥文

C# 调用非托管C++ DLL 问题

问题描述 直接上代码:C++头文件中:CTestDLLextern"C"_declspec(dllexport)bool__stdcallFunc1(double*data,introws,intcolumns);CTestDLLextern"C"_declspec(dllexport)bool__stdcallFunc2(double*WL,double*SV,double*Result,PointInfopointinfo);CTestDLLextern&quo

VB.NET动态调用某个DLL中的函数

问题描述 可能标题不能表达我实际要表达的意思.是这样的,在程序中需要调用一个特殊的dll中的函数这个dll中有类似A_1A_2...A_20这样的函数,有没有办法直接一个循环语句把这20个函数调用一次啊一些脚本编程语言里面就有类似的eval的功能不知道vb.net可以不? 解决方案 解决方案二:纠结能不能写字符串当作函数名,对你来说,有多大意义吗?能成为一个软件设计师?解决方案三:在.net系统中,这类程序,如果一个工作了8年的程序员,面对一个2万行的.主要由他设计开发的系统,其中有几行代码需要

调用非托管dll常出现的bug及解决办法

C和C++有很多好的类库的沉淀,在.NET中,完全抛弃它们而重头再来是非常不明智的.也是不现实的,所以,我们经常需要通过Pinvoke来使用以前遗留下来的非托管的dll.就.NET中使用非托管的dll经验而言,经常碰到的问题至少有两个,它们都是通过在运行时抛出异常来体现的. 1.试图加载格式不正确的程序 出现这种异常,通常是.NET应用程序的"目标平台"与非托管dll的平台不一样. 一般,在使用VS开发.NET的应用程序和类库时,默认的目标平台为"Any CPU",

非托管dll-C#调用非托管DLL,报“其他内存已损坏”,请问怎么解决呢?

问题描述 C#调用非托管DLL,报"其他内存已损坏",请问怎么解决呢? 定义: [DllImport("BSEncrypt.dll")] public static extern bool MD5String(ref string instr, int inlen, ref string outstr, int outlen); 调用: String ls_MD5Password = new String('', 100); string as_Password =

关于c#动态调用非托管DLL的内存释放问题

问题描述 本人由于客户的需要,需要在程序的运行过程中,动态加载不同的DLL.这与直接调用非托管DLL不一样.下面这个帖子中的第三个方法很好的说明了如何动态调用非托管DLL.http://blog.csdn.net/pansiom/article/details/568096#comments为了方便使用,我把文中的方法弄成了一个DLDApi类,如下usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Re