Advertisement

在C#和VC++中使用DLL调用方法及其接口地址与数据类型的映射关系

阅读量:

采用VC++结合MFC动态链接库(dll)进行绘图组件的开发,那么在C#与VC++环境中应如何调用该dll?

一、VC DLL接口定义

以开发浮云绘图组件FYDC.dll为例,该组件属于VC MFC动态链接库,由多个类库构成,其中包括MFC类以及窗体、图标等多种资源。具体的编码定义与实现过程如下:

  1. 建立名为FYDC的MFC常规动态链接库dll工程项目;

  2. 开发用于绘制线条的CSLine类、用于绘制圆形的CSEllipse类等,并实现包括画布CCanvasWnd在内的所有绘图功能;

  3. 在FYDC.h和FYDC.cpp文件中引入绘图类库的相关头文件,例如CanvasWnd.h、SLine.h等;

  4. 在FYDC.cpp中定义导出接口(部分接口示例如下),并完成其具体实现。

复制代码
 1> extern "C" __declspec(dllexport) CCanvas* New()

    
 2> extern "C" __declspec(dllexport) void Create(CCanvas* canvas, HWND hParentWnd, int x, int y, int w, int h)
    
 3> extern "C" __declspec(dllexport) void Load(CCanvas* canvas, 

全部评论 (0)

还没有任何评论哟~