c#调用c++的回调函数

13 篇文章 0 订阅

c++提供回调函数的接口,给c#调用

c++:

声明:

typedef void(*SelfDetectCb)(int result);// 设备名称,状态(1成功,0失败)
extern "C" BGISEQEXPORT BOOL WINAPI Seq_AutoSelfDetect(SelfDetectCb callback);

实现:

extern "C" BGISEQEXPORT BOOL WINAPI Seq_AutoSelfDetect(SelfDetectCb callback)
{
  callback(0);

  return TRUE;
}

 

c#:

声明:
        public delegate void SelfDetectCb(int result);


        [DllImport("BGISequence.dll", EntryPoint = "Seq_AutoSelfDetect", CharSet = CharSet.Unicode)]
        public static extern bool Seq_AutoSelfDetect(SelfDetectCb callback);

调用:

IBGISequence.SelfDetectCb callback = new IBGISequence.SelfDetectCb(CallbackFunc);
            IBGISequence.Seq_AutoSelfDetect(callback);

 

public static void CallbackFunc(int result)
        {
            // 处理
        }

 

备注:这里的回调函数为public static类型,但若回调函数中需要处理非静态成员,就得声明为private类型。

 

C是一种编程语言,由美国计算机科学家德尼斯·里奇在20世纪70年代初开发。它是一种通用的、结构化的高级编程语言。 C的设计目标是提供高效的编译器,并能与底层的操作系统进行良好的交互。因此,C语言广泛应用于系统编程、嵌入式系统、操作系统和编译器的开发以及其他对性能要求较高的领域。 C语言的语法简洁且灵活,支持面向过程的编程范式。C的核心功能包括变量、数据类型、运算符、流程控制语句和函数。它也提供了许多标准库函数,使得开发者能够更方便地进行各种操作。 C语言具有良好的可移植性,且易于学习和使用。许多编程语言都受到C的影响,例如C++C#、Java等。这些语言都从C中借鉴了语法和特性,因此学习C语言可以为后续学习其他编程语言打下坚实的基础。 尽管C语言在一些方面有限制和不足,但它仍然是许多开发人员和计算机科学家的首选语言之一。通过使用C语言,开发者可以更好地控制程序的细节,从而提高程序的性能和效率。此外,C语言的广泛应用也使得很多开源库和工具都以C语言编写,进一步扩展了C语言的应用领域。 总结来说,C语言是一种高效、灵活且通用的编程语言。它的设计目标是与操作系统良好交互,适用于系统编程和对性能有要求的领域。学习C语言可以为后续学习其他编程语言打下基础,并有助于开发者掌握底层细节和提高程序性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值