本文主要讲解C#注册回调函数提供给C++调用,用于异步通知机制。这在编程过程中是经常需要用到的模式。
此过程需要创建三个工程:
1. C++动态库工程
2. C++ CLR 托管动态库工程
3. C# 测试工程
接着前文C++封装成托管模式供C#调用过程创建的C++ CLR托管工程,在此基础上再创建一个C++动态库工程,此工程创建过程比较简单在此不再详细说明,只注意一点如图。
一、C++动态库工程
工程结构图:
//CPPClass.h
#ifdef CPPCLASS_EXPORTS
#define CPPCLASS_API __declspec(dllexport)
#else
#define CPPCLASS_API __declspec(dllimport)
#endif
typedef void (_stdcall *CB_FUNCTION_CALLBACK)(int IntputDataClr);
// 此类是从 CPPClass.dll 导出的
class CPPCLASS_API CCPPClass {
public:
CCPPClass(void);
bool RegisterFu