社区
C#
帖子详情
C#调用C++DLL采用何种方案好
freefalcon
2010-03-15 10:50:25
要用C++开发SDK供第三方使用,除了首先满足C++调用外,第三方还可能采用C#等高级语言调用
目前有两种方案:
1. 采用COM接口,因为COM有着较好的跨语言特性
2. 采用类似于Windows API的纯C接口
这里请有相关经验的朋友讲讲,上述两种方案中哪种方案在C#里调用起来方便些,谢谢。
...全文
132
4
打赏
收藏
C#调用C++DLL采用何种方案好
要用C++开发SDK供第三方使用,除了首先满足C++调用外,第三方还可能采用C#等高级语言调用 目前有两种方案: 1. 采用COM接口,因为COM有着较好的跨语言特性 2. 采用类似于Windows API的纯C接口 这里请有相关经验的朋友讲讲,上述两种方案中哪种方案在C#里调用起来方便些,谢谢。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ztenv
2010-03-15
打赏
举报
回复
只要不和类有关系,就没有问题;
freefalcon
2010-03-15
打赏
举报
回复
目前的C++接口中用到了回调接口,如果改成C接口的话就是函数指针,这在C#里调用有问题吗?
ztenv
2010-03-15
打赏
举报
回复
[Quote=引用楼主 freefalcon 的回复:]
要用C++开发SDK供第三方使用,除了首先满足C++调用外,第三方还可能采用C#等高级语言调用
目前有两种方案:
1. 采用COM接口,因为COM有着较好的跨语言特性
2. 采用类似于Windows API的纯C接口
这里请有相关经验的朋友讲讲,上述两种方案中哪种方案在C#里调用起来方便些,谢谢。
[/Quote]
1、写成com跨不了平台的,还是别写了,再如楼上的所讲
2、个人感觉如果C/C++能访问你的接品了,就没必要再封装了,如果第三方想自己开发,让他们用C++再封装一层给C#调用
cpp2017
2010-03-15
打赏
举报
回复
第二种.
使用COM,需要注册,如果多个程序共用,被别的程序卸载时反注册了,会影响到你现在的程序。
使用普通dll,不受这个影响。也不用注册。将dll放在当前目录下就行,比较干净。
C#
调用
C++
的
dll
方法
C#
调用
C++
的
dll
总归可以有两种方法: 1、非托管
C++
创建的
dll
库,需要用静态方法
调用
; 2、直接使用CLR,生成托管
C++
dll
库。
C#
调用
C++
dll
教程
在使用
C#
开发客户端时,有时需要
调用
C++
dll
,本篇博客来介绍
C#
程序如何
调用
C++
dll
。
vs2019 实现
C#
调用
c++
的
dll
两种方法
vs2019 实现
C#
调用
c++
的
dll
两种方法1.托管与非托管的区别2.非托管类的实现第一步:创建
C++
空项目(命名Caculate)添加一个类AddOperate第二步:将
C++
代码编译成动态库
dll
第三步:将
dll
拷贝到
c#
项目输入目录,一般在bin/debug下面第四步:
C#
调用
dll
3.托管类的实现第一步:打开vs2019,新建新项目在
C#
里找到控制台应用(.NET Core)第二步:在你已经创建好的vs界面中,右击解决
方案
->添加->新建项目->
C++
空项目(取名Caculat
C#
调用
C++
DLL
方法
感谢小白T哥 学习
dll
调用
记录 在
C#
中,可以通过
Dll
Import
调用
C++
的非托管
DLL
程序。 VS2010中
C#
调用
C++
的
DLL
示例: 一、新建
C++
DLL
程序 1、新建
C++
Win32项目,类型为
DLL
。 生成的文件结构如图: 其中,“My
DLL
Fun.cpp”文件为此项目主要源文件。 2、在源文件中添加需要被外部
调用
的方法。 这里仅仅是添加两个示例方法: 方法“Add”返回两个整数的和;方法Pow计算X 的 Y 次方,并以指针的形式修改参数 x 地址处的值。 修饰符 e
C#
调用
c++
dll
的两种方法(静态方法和动态方法)
C#
调用
c++
dll
的两种方法(静态方法和动态方法)
C#
111,094
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章