C#
Kelvin_Ngan
Make things easy
展开
-
C++调用C# DLL之踩坑记录
C++调用C# dll原创 2024-09-18 21:16:11 · 388 阅读 · 0 评论 -
不同版本opencvsharp的依赖
c# opencvsharp依赖原创 2024-01-05 09:40:58 · 676 阅读 · 0 评论 -
C#强制杀进程
通过cmd命令实现using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Diagnostics;namespace runBat{ class Program { static void Main(string[] args) {原创 2020-12-11 14:38:15 · 1568 阅读 · 0 评论 -
QT获取QFont所支持的family列表
#include <QFontDatabase> ... QFontDatabase fd; QStringList lis = fd.families(); ...原创 2020-01-16 14:05:10 · 2673 阅读 · 1 评论 -
C#调试dll无法进入
解决办法:调试-启用本机代码调试原创 2019-06-04 11:01:00 · 1476 阅读 · 0 评论 -
OpenSSL与C#的DESCryptoServiceProvider结果不一致
问题:用openssl的des接口获得的密文,在C#中解密错误原因1:DES算法不匹配。DESCryptoServiceProvider [官方说明] 默认为CBC模式,而openssl有DES_ecb_encrypt和DES_ncbc_encrypt两个接口原因2:采用DES_ncbc_encrypt加密,用DESCryptoServiceProvider 获得的解密文长度变小了。这是...原创 2019-02-28 17:29:15 · 1138 阅读 · 0 评论 -
Unity中的C#与C++交互
参考:Unity Manual-Low-level Native Plugin Interface源码demo 演示了一个渲染三角形的例子 C++部分代码实现了对底层API的封装以及核心功能实现。RenderingPlugin.cpp中定义了C++的接口。其中定义了一系列全局变量,用户通过接口函数对这些全局变量赋值。如: 设定纹理// -----------------------------原创 2017-06-28 16:05:08 · 4841 阅读 · 0 评论 -
C#/VC调用QT控件
通过QT Creator将QT控件编译成C++库,即dll,C#和VC通过dll调用QT控件。需要在QT Creator中使用qtwinmigrate,将qt控件封装为一个函数接口,通过Pinvoke与C#和VC交互。 注意:函数接口中不能出现以下语句QApplication a(argc, argv);qtwinmigrate在生成dll的过程中会预先定义一个QApplication 对象,而q原创 2017-02-15 21:28:47 · 4126 阅读 · 0 评论 -
C#和C++混合编程
C#写界面比较方便,而C++则擅长写算法,所以将两者结合起来将会加快程序的开发速度,并保证程序的质量。但C#与C++的混合编程有很多细节问题需要注意,下面简要列举一些并指出相应的解决办法。 1. 将本机C++代码(指非托管C++)编译成一个dll,供C#调用,调用方法为 [DllImport(×××.dll)] 。但是这里只能从 DLL 导出函数,不能导出类(还没有测试能否转载 2014-11-25 15:04:54 · 11420 阅读 · 3 评论 -
C#委托与C++回调的陷阱
场景:C#调用C++编写的dll,希望在dll内部实现回调,即dll自动响应某个操作,类似于C++往C#发送消息。 C++的回调在C#中通过委托实现,但此时要注意陷阱,就是委托方法与回调函数之间的参数传递问题。 委托方法是C#定义的,属于托管代码;此时在C++中声明的回调函数则属于非托管代码。两者要交互,则需要通过数据封送。所以C#在C++中回调,实质上经过了”C++找到回调函数入口并传递实参”原创 2016-11-24 17:22:23 · 1774 阅读 · 0 评论 -
C#debug跟踪C++DLL源码
1、首先设置C++ dll项目属性-链接器-调试-生成调试信息,选择是2、C#项目属性-调试-启用本机代码调试,打钩原创 2016-11-24 14:15:47 · 628 阅读 · 0 评论 -
C#与C++交互之——参数传递
《精通.NET互操作》读书笔记,该书详细讲述了.Net与C/C++的交互技术托管代码和非托管代码的交互技术有3种:平台调用(PInvoke)、C++ Interop、COM Interop平台调用(PInvoke)其中,PInvoke最简单,但只能调用函数,不能调用类。但有一个折衷的办法,就是在C++里面定义一系列函数,里面调用相应的类,暴露给调用方(托管语言)原创 2014-12-04 09:39:20 · 9694 阅读 · 0 评论 -
【开发日记】C#调用C++图像处理算法(opencv)
我用C++开发算法,同事用C#实现业务逻辑。我是第一次做C#和C++的交互,如今遇到问题。问题:手头有一个C++算法类,打算通过dll调用函数的方式,在C#中实现该算法。具体就是写个函数,函数内部调用了算法类;C#用DllImport调用该函数。结果,报错找不到入口。已排除DllImport错误使用的可能,因为把函数内部调用算法类的部分去掉,C#那边是可以正常运行的,说明是算法类的问题。既原创 2014-12-02 14:22:18 · 5270 阅读 · 2 评论 -
【开发日记】调用方释放DLL中申请的内存
问题描述:C#调用C++的dll,传入一组数据,返回处理后的数据以及一些信息字段。但是,返回的内容是不定长的,也就是dll内部要进行动态内存申请。那么问题来了,C#怎么接收一个大小不确定的变量?使用完这些数据后,怎么在C#里面释放其内存?前一个问题的危险是,该段内存的大小,调用方事先是未知的不能进行初始化,这可能会导致缓冲区溢出问题。目前的解决方法只能够是调用方预先分配一个足够大的内存原创 2014-12-19 10:53:26 · 3678 阅读 · 0 评论