Fortran Coder

标题: 关于老程序的阅读,修改 [打印本页]

作者: lex1lex    时间: 2017-2-14 22:30
标题: 关于老程序的阅读,修改
本人在读研究生,拿到一个很大的源程序程序,包含大大小小500个源程序,是在CVF6.5版本下,用Fortran77编写编译的。我现在要在这个程序上进行修改,添加一些我需要的功能。
我自学的Fortran,看的是彭国伦的Fortran95程序设计,我觉得自己水平也就是刚入门,自己编的程序最大的也就是7、800行的程序。
我现在使用的VS2010+IVF2011,程序从一开始就出现各种问题,无法编译,报错。
我现在有点无从下手的感觉,因为在研究所读书,周围同事用Fortran的人很少,给不了太多建议。
在这发帖的主要目的:希望各位大神能够给点意见,我怎么下手,怎么开始工作。


还有一个具体问题就是我在打开VS里打开之后,发现源文件列表里有一个扩展名是 *.OBJ的文件,打开是乱码,我不太理解这个文件的作用,还是说,这根本就是出错引入的文件?


在这先谢谢各位的指点!!

作者: fcode    时间: 2017-2-15 08:35
你这种工作我经常做,而且是商用(编译成软件卖钱)。

请从第一个错误开始修改,排查。
读懂老代码的确需要很大的耐心。没有捷径可以走。
我建议你先装一个虚拟机,在虚拟机里装个 WindowsXP,再在 WindowsXP里装一个 CVF,先用 CVF 跑通(应该不需要多少修改)

然后再移植到 IVF 上,所需的修改取决于代码的规范程度。

obj 文件是编译好的目标代码(是机器代码,人类无法直接阅读),列表中有 obj 文件,说明程序作者有一部分代码不愿意公开,但是为了让你能运行,提供了经过编译的机器代码。

http://v.fcode.cn 本论坛视频教程
http://quill.fcode.cn 可以把 f77 固定格式自动转成自由格式

或许对你有一些帮助。

作者: pasuka    时间: 2017-2-15 10:01
1、这类祖传古董有参考文献、开发文档、使用手册吗?
2、在github、SourceForge就没有开源的新版本?
3、课题组内有没有MATLAB或者Python的新版本?
4、通过文献阅读,能否获知国内外相关领域研究与程序开发的现状?
请先确定这个祖传古董代码对于lz接下来学习与工作的价值,不然就是事倍功半
作者: lex1lex    时间: 2017-2-15 22:23
fcode 发表于 2017-2-15 08:35
你这种工作我经常做,而且是商用(编译成软件卖钱)。

请从第一个错误开始修改,排查。

多谢大神指点,非常有用!
作者: lex1lex    时间: 2017-2-15 22:28
pasuka 发表于 2017-2-15 10:01
1、这类祖传古董有参考文献、开发文档、使用手册吗?
2、在github、SourceForge就没有开源的新版本?
3、课 ...

有英文的使用手册,但是说实话上百个子程序,实在是无从下手。
祖传的古董还是没办法代替的,不太可能用其他语言或者程序再独立编写一套(因为这样做工作量实在是太大了),所以很确定是有价值的。多谢提醒
作者: pasuka    时间: 2017-2-16 08:42
lex1lex 发表于 2017-2-15 22:28
有英文的使用手册,但是说实话上百个子程序,实在是无从下手。
祖传的古董还是没办法代替的,不太可能用 ...

既然有英文的使用手册,为啥不能顺藤摸瓜去网上查找该程序及其开发者的相关后续工作?相关的引用文献?
为啥不能去国内外相关论坛咨询该领域类似程序的现状?
临渊羡鱼,不如退而结网
作者: 百事可乐    时间: 2017-2-19 15:16
先把大蛋糕分成份,然后一份一份的吃。

搞清楚各部分的作用,相互关系。就容易了




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2