恳请大家给点意见,关于设计思路,在线等,谢谢~~

laohubinbin 2005-06-30 09:41:52
正在构想一套软件的设计思路

软件的功能实现是建立在一套外加库(.dll、.lib等)的基础上的

为了能够使软件方便升级换代,打算采用编写.dll的方式

即:
设计一个主界面(.exe文件)和若干.dll文件,主界面是与用户交互的窗口,与众多自己编写的.dll文件形成数据通信,这些.dll再调用外加库的.dll、.lib等文件来完成各种函数及算法的实现,用做实质上的计算。更新时不用更换主界面文件,不需重新编译,只需更换那些自己编写的.dll文件即可。

这里有点疑问:
.dll(自己编写的)能否作为函数及算法的载体;能否实现.dll文件(自己编写的)调用别的.dll文件(外加库的)。

不知我的设计思路是否可行,恳请大家提出宝贵意见。

不胜感激。
...全文
145 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
laohubinbin 2005-07-04
  • 打赏
  • 举报
回复
我用扩展的dll,在其中加一个“接口类”以应付“功能类”的一些改变,采用隐式链接到主程序中
大家看如何
谢谢
成富 2005-07-04
  • 打赏
  • 举报
回复
DLL的接口保持不变就好,可以更改实现方式。
你所说的软件升级,要先考虑到底什么地方可能升级,可能会发生变化,然后对这些地方进行分析,用DLL不一定能达到你想要的效果。
SCSDN 2005-07-04
  • 打赏
  • 举报
回复
dll也可以作为资源的载体。速度稍受影响。
laohubinbin 2005-07-04
  • 打赏
  • 举报
回复
顶一个
谢谢
laohubinbin 2005-07-03
  • 打赏
  • 举报
回复
还要问一下:

1、扩展dll、常规dll 与 隐式链接、显式链接之间有什么联系吗?

2、看到书上写着:
“常规dll只能导出C样式函数,不能导出C++类、成员函数或重载函数。”
这句话是什么含义呢?
能举个例子吗?

3、像我所要设计的这个程序的情况下,应该使用“扩展dll”还是“常规dll”,“隐式链接”还是“显式链接”呢?

再次感谢
oyljerry 2005-07-02
  • 打赏
  • 举报
回复
可以根据具体的要求,设计主程序与DLL之间数据交换的方法
qiangorqiang 2005-07-02
  • 打赏
  • 举报
回复
没有影响,许多程序都是这样做的。
chenjunge 2005-07-01
  • 打赏
  • 举报
回复
完全可行,而且我认为这种方法比较好
laohubinbin 2005-07-01
  • 打赏
  • 举报
回复
主程序与.dll之间的数据通信是否会对计算速度有影响呢?
是否会比常规设计模式(代码都写在主程序中)的计算速度慢很多呢?
因为计算量会很大
谢谢
laohubinbin 2005-07-01
  • 打赏
  • 举报
回复
速度呢
会不会有影响?
qiangorqiang 2005-06-30
  • 打赏
  • 举报
回复
把各中功能的的定义放在接口中,dll中继承并实现接口中的方法。保持接口不变,修改dll中的实现可达到功能升级的目的。
oyljerry 2005-06-30
  • 打赏
  • 举报
回复
可以保持接口不变,而功能升级
truewill 2005-06-30
  • 打赏
  • 举报
回复
应该是没有问题,使一下就知道啦

我以前做这种功能的时候是用
LoadLibrary和GetProcAddress 实现的

估计用.lib和.h应该也是可以的,只要函数接口不变
laohubinbin 2005-06-30
  • 打赏
  • 举报
回复
我的设想就是打算使.dll代替各个实现计算功能的“类”
主界面只是使用.dll文件中的各种计算函数
升级换代也可能只是作.dll中计算函数部分的代码优化,使计算速度加快

不知是否恰当
谢谢
truewill 2005-06-30
  • 打赏
  • 举报
回复
可以使用LoadLibrary动态链接,但是不太可行吧……


因为你要给dll和exe之间定义好接口函数,但是随着版本的更新,你会发觉你的定义不够好,进而修改接口,于是dll和exe就都要替换了

当然如果你一开始的定义就高瞻远瞩,这是个很好的想法
qiangorqiang 2005-06-30
  • 打赏
  • 举报
回复
dll可以作为函数及算法的载体,.dll文件中同样可以调用其他.dll文件的函数。

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧