我的方式是:
C++程序中的uchar*->C#程序中的IntPtr->byte[]

当然很多人都说直接:
C++程序中的uchar*->C#程序中byte[]

但是我的实践过程中,在实时性较高的程序中,第二种方式总是会让数据加载不完全,导致程序经常崩溃,具体原因不知。

另外需要注意的是,要及时释放IntPtr内存。

[DllImport("Yourc++File", CallingConvention = CallingConvention.Cdecl)]
public static extern IntPtr YourCplusplusFunction();
int SIZE = xxx;
byte[] buffer = new byte[SIZE];
...
IntPtr ptr = Marshal.AllocHGlobal(SIZE);
ptr = YourCplusplusFunction();
Marshal.Copy(ptr, buffer, 0, SIZE);
Marshal.FreeHGlobal(ptr);

C#调用C++ dll中uchar*参数相关推荐

  1. 10.4.4 使用ctypes调用kernel32.dll中的函数

    10.4.4 使用ctypes调用kernel32.dll中的函数 2007-10-17 14:41 孙广磊 人民邮电出版社 字号:T | T 综合评级: 想读(5)  在读(0)  已读(6)   ...

  2. 调用未知DLL中的导出函数

    不知道诸位看官是否有过这样的经历:在不经意之间发现一个DLL文件,它里边有不少有趣的导出函数--但是由于你不知道如何调用这些函数,所以只能大发感慨而又无能为力焉.固然有些知名的DLL可以直接通过搜索引 ...

  3. html 调用c#dll中的控件,C#调用ActiveX控件的方法

    C#调用ActiveX控件时通常要进行两步操作: 第一步:注册控件,例如ABE.DLL,将ABE.DLL拷贝至系统文件夹SYSTEM32下,然后在开始中执行CMD命令,regsvr32 ABE.DLL ...

  4. html 调用c#dll中的控件,C#实现反射调用动态加载的DLL文件中的方法和在窗体中加载DLL文件的用户控件...

    反射的作用: 1. 可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型 2. 应用程序需要在运行时从某个特定的程序集中载入一个特定的类型,以便实现某个任务时可以用到反射. ...

  5. 调用外部 DLL 中的函数(显示调用)

    unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Di ...

  6. sqlserver调用msxml3.dll中的xmlhttp对象

    sp_configure 'show advanced options', 1; GO RECONFIGURE; GO sp_configure 'Ole Automation Procedures' ...

  7. 从零开始使用InnoSteup进行程序打打包以及调用dll中的函数

    本示例涉及: 程序的打包和数字签名 InnoSetup的快速上手 以及一个产品从编译到安装的过程演示 首先,我提供一份InnoSteup的脚本文件,小伙伴们可直接使用这个脚本进行打包(不过得修改一下相 ...

  8. c#调用c语言的自定义函数,[转]在C#中调用C语言函数(静态调用Native DLL,Windows Microsoft.Net平台)...

    对于不太了解.Net的人,如果想要了解.Net,我必须给他介绍P/Invoke.P/Invoke是什么呢?简单地说,就是在.Net中调用本地代码(Native code)的一种解决方案.所谓" ...

  9. JavaScript调用cs中带参数的函数

    这个问题就是在前台js中调用c#后台中带参数的函数 如: .cs: public string Method(string name) {   return name; } javascript: v ...

最新文章

  1. 列表CheckBox全选 结合DataGrid 进行删除操作
  2. git 提交各种情况下的处理方式
  3. C++ 大神John Carmack的编程传说!还在抱怨C++难学吗?看大佬操作!
  4. python 正态化_#Python数据分析/笔记 - 准备工作
  5. excel函数手册_一个函数高手的成长之路
  6. windows 2008 64位oracle11g部署问题(1)之警告-启动database control时出错
  7. php网页版进销存源码ERP多仓库管理系统源码
  8. python对电商运营有帮助吗_做电商运营需要学习python嘛?
  9. 有监督学习,无监督学习,强化学习总结
  10. 南京大学计算机化学会,南京大学理论与计算化学研究所
  11. vant中的swipe
  12. 小班关于计算机运用的教案,关于信息技术在幼儿园的运用教案设计
  13. ipad协议8033
  14. Linux Chromium源码编译
  15. 深度剖析未来网络服务模式 《云交换白皮书》一文全讲透
  16. Axon Framework架构概述
  17. 华硕笔记本安装linux失败
  18. 大牛手把手教你!Service有几种启动方式?吐血整理
  19. mysql _外键、实体关系与ER图
  20. 基于asp.net的网上选课系统的设计与实现

热门文章

  1. 2022年股权转让中这8个问题,你必须重视起来
  2. 宝塔同时安装苹果cms海洋cms_苹果cms用宝塔定时采集+添加百度推送教程
  3. linux:shell命令之软硬链接
  4. android实现音乐播放器(进度条)
  5. Android逆向破解关键词
  6. Cassandra 3.x官方文档_cassandra.yaml配置文件
  7. 为什么PR导出来的视频,偏紫色?
  8. 第一次参与国际空间站ISS 的SSTV活动
  9. html 链接加密,网页设计_URL解码超级链接加密解密
  10. 树莓派和Windows电脑互传数据方法