用VC++基于MFC动态链接库(dll)开发绘图组件,那么C#和VC++分别怎么使用dll?
一、VC DLL接口定义
以开发浮云绘图组件FYDC.dll为例,FYDC.dll是VC MFC动态链接库,有多个类库组成,其中包含MFC类和窗体、图标等资源。编码定义及过程如下:
1. 创建MFC常规动态链接库dll工程FYDC;
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, const char* fileName)
4> extern "C" __declspec(dllexport) int GetCount(CCanvas* canvas)
5> extern "C" __declspec(dllexport) CSLine* GetAt(CCanvas* canvas, int index)
6> extern "C" __declspec(dllexport) void GetName(CSLine* line, wchar_t* name)
7> extern "C" __declspec(dllexport) void GetSize(CCanvas* canvas, int& width, int& height)
5.

本文介绍了如何在C#和VC++中使用MFC动态链接库(FYDC.dll)。首先,阐述了VC++创建DLL接口定义的过程,然后详细说明了C#调用DLL的步骤,包括导入函数声明和处理字符串编码问题。最后,展示了VC++调用DLL的步骤,强调了库文件的引用和函数调用。
最低0.47元/天 解锁文章
147

被折叠的 条评论
为什么被折叠?



