netcore调用c++的dll的两种方法

news/2023/6/8 0:13:44

 

目录

1、托管库和非托管库介绍

2、非托管库

3、托管库


1、托管库和非托管库介绍

托管型代码的对象在托管堆上分配内存,创建的对象由虚拟机托管。(C# )
非托管型代码对象有实际的内存地址,创建的对象必须自己来管理和释放。(C++)

2、非托管库

C++创建的非托管dll库,需要用静态方法调用;

非托管模式从功能上来说,只支持函数调用,直接调用C++类库中的公共方法,在被导出的函数前面一定要添加额extern “C来指明导出函数的时候使用C语言方式编译和链接的,这样保证函数定义的名字相同,否则如果默认按C++方式导出,那个函数名字就会变得乱七八糟,我们的程序就无法找到入口点了。"__declspec(dllexport)“意思是将后面修饰的内容定义为DLL中要导出的内容。

C++中定义如下:

extern "C"

{

extern __declspec(dllexport) void   mbm_test();

}
或者直接定义:extern "C" __declspec(dllexport) void mbm_test(){}


在C#中,调用如下:

[DllImport("mbmasterd.dll", EntryPoint = "mbm_test")]
static extern void mbm_test();
 

3、托管库

使用CLR生成的托管C++dll库

需要在C++项目里面设置,让动态库受到公共语言运行时的支持,然后c#工程添加dll的引用即可调用了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-4557859.html

如若内容造成侵权/违法违规/事实不符,请联系郑州代理记账网进行投诉反馈,一经查实,立即删除!

相关文章

c语言中int代表什么变量,c语言中int是什么意思

C/C编程语言中,int表示整型变量,是一种数据类型,用于定义一个整型变量,在不同编译环境有不同的大小,不同编译运行环境大小不同。整型变量包括下面几种类型:1、有符号基本整型,关键字&#xff1a…

业务-研发一体化管理平台,存在吗?

伴随着互联网在中国进程的发展,线上研发效能及业务应用软件也不落后于时代进步的脚步,中国软件行业从未停止过持续的创新。 2022年,业务应用开发正在简化,研发效能也在提升,其中不得不提软件在协同促进、研发一体化管…

如何避免Excel转PDF后内容少了一半

虽然将Excel转成PDF是比较简单的操作,但也有时候会出现转换后的PDF对比表格内容却少了一半,怎么才能避免这种情况出现呢? 如果我们是通过office直接导出为PDF,那在导出前通过打印预览,以A4纵向页面方向,根…

html图形渐变颜色一半一半,CSS3教程:background-image之放射性渐变(radial-gradient)详解...

写完了linear-gradient线性渐变的初级教程后,看到了Lea Veron博客上那个用渐变做的图案集,我瞬间就觉得自己的想象力弱爆了。容我躺躺,再站起来继续战斗!缓过来了,开讲放射性渐变吧。一、放射性渐变原理别人都用ps解释…

第一天总结 之 用户管理界面的实现 之 修改操作 的实现

修改操作 首先 明确 修改操作的前提是 先在页面显示修改前的数据 然后对其进行修改 之后点击提交在页面显示修改前的数据 方法一: 带着数据直接跳转 到添加页面 即在跳转的url后 直接通过?携带数据跳转 缺点: !!…

剑指offer算法题028:数组中出现次数超过一半的数字

小编在求职找找工作期间剑指offer上的算法题刷了很多遍,并且每道题小编当时都总结了一种最适合面试时手撕算法的最优解法。考虑到剑指offer算法题在面试中的高频出现,小编每天和大家分享一道剑指offer上的算法题,以及小编总结的答案。下面是第…

数组中出现次数超过一半的数字

数组中出现次数超过一半的数字 时间限制:1秒空间限制:32768K本题知识点: 数组 题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。 由于数字2在数组中…

为什么文本框里的字只显示一半_word字体显示不全及显示一半怎么回事?

经常使用word办公软件来编写文档的网友反馈到关于在打开word文档出现系统字体不能正常显示,w出现word字体显示不全及显示一半的情况。那这种故障是什么原因造成的?学无忧就来和大家分析导致word字体显示不全及显示一半的故障及该如何解决?故障…