社区
C#
帖子详情
c#调用c++dll提供的接口,传参为c++类
xiaoyu5425
2019-09-12 01:35:14
c#调用c++dll提供的接口,传参为c++类,这要怎么搞,有知道的吗?是要在外部定义一个类吗?还是说不能这样搞
...全文
211
3
打赏
收藏
c#调用c++dll提供的接口,传参为c++类
c#调用c++dll提供的接口,传参为c++类,这要怎么搞,有知道的吗?是要在外部定义一个类吗?还是说不能这样搞
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xiaoyu5425
2019-09-12
打赏
举报
回复
那就让人改接口吧
OrdinaryCoder
2019-09-12
打赏
举报
回复
C#调用nativeC++不能传类 最多传结构体 而且结构体中也只能包含一些基本数据类型 不能出现类这种类型 如果想传类 只能像1楼说的用C++/CLI封装一下C++dll
stherix
2019-09-12
打赏
举报
回复
参数为结构体/结构体指针的话还可以做到 为c++类的话 ,那只能用c++/cli写个adapter了吧
C#
调用
C++
dll
函数
传参
及参数
类
型转换
一、简述 在
C#
中
调用
C++
版的
dll
函数时,因为是不同的语言,参数
类
型也不尽相同,需要做一些转换。因为在网上能找到的答案也是很杂乱,对此不懂的人会搞到发狂。最近碰到一些项目需要在
C#
中
调用
C++
版
dll
,所以一通捣鼓,总结了部分经验。【提示:
C#
调用
C++
库,需要
dll
和lib就可以了,不需要头文件】 二、亲测有效的一些参数
类
型转换 1、基本
类
型int、float、bool,
C++
中与
C#
中是相同的; (1)
C++
dll
函数 void init(int a, float b, bool
c#
调用
C++
dll
传入传出 字符串
C#
调用
非托管
C++
dll
传入Stringbuilder、ref string 、 ref char 等都报错,如mscorlib.
dll
异常、其他信息: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏 等等 后来看到文章提到byte,想起来之前
调用
没有问题是用的byte,
C#
中的char是两个字节,用byte能证明标识内存地址 http://msdn.microsoft
C#
调用
C/
C++
C#
调用
C/
C++
前言
DLL
的生成
C#
控制台
调用
DLL
以及平台问题遇到的一些坑 前言 最近做课程实践,用
C#
做可视化,C/
C++
来完成功能实现部分,记录下
调用
的简单步骤和一些坑。
DLL
的生成 要使C/
C++
的代码能在
C#
中执行,需要先将C/
C++
的代码文件生成
DLL
文件,具体操作: 通过VS2019创建
C++
下的动态链接库项目  
c#
调用
C++
dll
传入传出参数对照表【
C++
dll
类
型与
C#
类
型对应关系】
C#
调用
非托管
C++
dll
传入Stringbuilder、ref string 、 ref char 等都报错,如mscorlib.
dll
异常、其他信息: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏 等等,后来发现是
dll
生成后一直没更新,放错位置了。。。 = =|| 不过也学习了一下编译器及
类
型相关的知识,整理如下: 1、 cl.exe /Gz 参数指定编译为 __stdcall
调用
方式,默认为 __cdecl2、
C#
中的char是两个字节http://msdn.microsoft
C#
111,129
社区成员
642,532
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章