最近项目中遇到一个问题,就是需要把我开发的设备生成dll文件给师弟用于软件的开发。设备程序的框架是在mfc中实现的,里面有一个设备类,可用于控制算法的实现,并获得一些设备的参数。现在记载这一个类软件接口的开发方法。
1)打开vs2019,创建一个mfc动态链接库。
图1 mfcdll项目的创建
可以看到,此时系统已经自动创建了一个MFC项目,其中CmdeviceApp类为整个程序类,CmdeviceApp::InitInstance()则是程序的入口函数。在原有项目的文件中,CmdeviceApp下还有一个CmdeviceDlg类,用于实现控制面板的开发。设备类devicetest则是在Cmdeivcedlg下的对象。我们目前的需求是对设备类devicetest进行封装,并暴露接口给到软件开发人员(客户)。使得客户只需要调用函数接口就可以对设备进行操作,不需要进行类的创建等。
2)将设备类devicetest及其子类放到vcxproj文件所在文件夹中,经过调试成功实现devicetest类的编译
3)新建一个DeviceWrapper.h和DeviceWrapper.cpp文件,内容分别如图2和图3所示。DeviceWrapper.h包含待封装的设备类作为头文件,并包含需要暴露给客户的接口(用__declspec(dllexport)表示)。 编译时&