一个思想问题。。谢谢! 原来用MFC写了个控制机器设备移动的软件。现在说是要2次开发,要把原来的东西修改成DLL文件,客户拿去用。 以前没做过关于DLL的东西。想知道在具体写的时候,有什么好的建议。是把原程序的所有变量和类都独立导出,还是怎么搞。心里没底。。没多少分了。还往谅解。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 只导出函数 ,不要导出变量和类并且函数参数只能使用C中有的类型,不能使用C中没有的类型.函数调用方式加上__stdcall 把你的功能抽象成一个个函数接口模式,比如初始化,移动设备,关闭等功能在这些功能一个个作为导出函数,给第三方调用,在函数内部使用各种类,以及你的逻辑处理流程等..最后提供h,dll文件等,h文件中做一下接口的说明等,方便别人调用 是不是只考虑原程序里面的函数实现部分,其他的一概不管。把原来因为参数相互联系起来的函数结构,全部分离。有价值的部分函数拿来制作DLL? 补充下,他是用VB再开发,做成MFC规则的DLL,是不是可以 VB开发,你最好开发成Windows 标准DLL, __stdcallMFC 的dll,一般都需要MFC的支持, 接口设计是关键的~Dll相关书籍很多~ 可以用类来实现,不过要输出函数要声明成不带类的函数。例如:BOOL Initial(){ return theApp.Initial();} 输出:extern "C"{ BOOL __declspec(dllexport) __cdecl Initial();} 具体实现你想怎么弄就怎么弄。MFC规则DLL就导出几个封装了相应接口的关键函数就可以了。如果要考虑以后的兼容啊,升级什么的就最好弄成接口形式的了,也不是很清楚,反正现在我是没这方面的要求。:) 或者更好的方法,改用ATL写组件的形势! r3000 还是那么活跃, 尽管我都换 2个ID了 如何在BCG风格界面中创建浮动工具栏 散分散分 一个Ping连续IP地址段的问题 怎样实现将CDialogBar中editbox控件中的值传到视图类 多线程操作数据库的问题 怎么调用不了DLL 请问 VC++ 与 VC++.NET 各自的优缺点是什么????? 键盘编码里 &HAX 是什么? 如何实现画实时曲线? vc++6.0 directshow 捕捉图像 一个CView子类里面,使用指针链表管理多个CFrameWnd子窗口的刷新问题!!(困扰好多天了,现在需要提交版本了。急待解决!!!!!!)
函数调用方式加上__stdcall
其他的一概不管。把原来因为参数相互联系起来的函数结构,全部分离。
有价值的部分函数拿来制作DLL?
MFC 的dll,一般都需要MFC的支持,
Dll相关书籍很多~
例如:BOOL Initial()
{
return theApp.Initial();
}
extern "C"
{
BOOL __declspec(dllexport) __cdecl Initial();
}
如果要考虑以后的兼容啊,升级什么的就最好弄成接口形式的了,也不是很清楚,反正现在我是没这方面的要求。:)