萍聚社区-德国热线-德国实用信息网

 找回密码
 注册

微信登录

微信扫一扫,快速登录

萍聚头条

查看: 870|回复: 8

请教一下这里的编程高手!

[复制链接]
发表于 2008-10-17 13:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册 微信登录

x
如何将一个dos下运行的用户程序,带图形界面的,但是大部分是用c写的,大概有6万行
快速高效地用C++改写?图形库用qt或者mfc都可以

老板想让我简单地把原来c程序里面的图形库换成qt地或者mfc地,但是在我看来这样行不通诶

我觉得要改结构,各位有什么高见?$m7$
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2008-10-17 13:36 | 显示全部楼层
C到C++?是不是主要就是改图形界面,原功能不变?原来用的什么图形库?

是否需要大的改动决定于现有系统的设计好坏。如果现有程序里面太多文件不加封装地直接使用原图形库,且图形库和应用代码混杂在一起,那你这改起来就要费点力气了,不过这只是最坏的情况。最好和之前的作者联系一下,或者看看文档什么的,了解一下现有系统是怎么设计的,用了什么设计模式没有。

如果这程序结构很差,但是一次性改完以后就不用管了,再也不继续开发了,那不妨硬着头皮照他的原设计结构改。如果以后自己还要经常用的,那就要重新设计设计了,否则就是给自己埋定时炸弹。我已经被炸过无数回了:(

我只用过Qt,觉得不错,上手很快,有好用的图形界面编辑器QtDesigner,而且它是跨平台的。
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
 楼主| 发表于 2008-10-17 13:49 | 显示全部楼层
一个是改图形界面,其次是某些兼容性问题,和跨平台问题
但是老板希望保存原来的所有功能。
原来的图形库不详,似乎是一个叫fast graphics的东西,现在都找不到
我研究了一下,可以画一些原始的曲线什么的

图形库和代码是混在一起用的,关键是原程序太复杂,随便一个function就是上千行,
而且原程序还混了一点c++的代码

现在我用qt已经把界面弄出了乐,但是原来的功能不知道怎么快速的添加进取
一个有用的模块我都分析了几天

我想重新开发一个小的,精简版的,用c++完全重写,但是不知道怎么说服老板$NO$
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2008-10-17 14:28 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
头像被屏蔽

TA的专栏

发表于 2008-10-17 16:25 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2008-10-17 16:54 | 显示全部楼层
主要看公用变量来定,你把相互关联的几个全局变量做成一个对象的private或public,然后相关的使用这些全局变量的函数都可以做在这个对象里了。函数的内部先不要看!
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
 楼主| 发表于 2008-10-17 17:02 | 显示全部楼层

回复 地球 的帖子

你的意思,最后还是把所有的函数都对象化?但首先还是得理清所有函数之间的关系吧?
这个工作量特别大,而且感觉很难理清楚$考虑$

而且,函数内部往往嵌套着很多层其他的函数,处于这个原因,还是可以不看函数的内部么!?
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
 楼主| 发表于 2008-10-17 17:03 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2008-10-17 23:43 | 显示全部楼层
这样吧,你把main下面的变量和函数列个清单,每个变量被哪些函数操作搞清楚。(只看main()下面的函数,子函数不管),然后把你认为有关联的变量和函数做成类(就是互相关联而不与其他函数和对象关联的),就分出几个类了。如果有些函数通用性强,也可以写成外函数。至于函数内部要不要再建类,你自己看着办。如果他本来的C程序结构清楚的话,你转出来也不会很困难。如果你转了一大半,看到有些零散的函数还没包括,就最后把它们加到你的c++程序中,我想不是很难。
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
您需要登录后才可以回帖 登录 | 注册 微信登录

本版积分规则

手机版|Archiver|AGB|Impressum|Datenschutzerklärung|萍聚社区-德国热线-德国实用信息网

GMT+1, 2025-2-8 09:01 , Processed in 0.063050 second(s), 19 queries , MemCached On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表