Fortran Coder

查看: 11039|回复: 6

[编译器] 关于老程序的阅读,修改

[复制链接]

3

帖子

1

主题

0

精华

新人

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


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


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

1948

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1298 元
贡献
547 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

发表于 2017-2-15 08:35:55 | 显示全部楼层
你这种工作我经常做,而且是商用(编译成软件卖钱)。

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

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

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

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

或许对你有一些帮助。

490

帖子

4

主题

0

精华

大宗师

F 币
3298 元
贡献
1948 点

水王勋章元老勋章热心勋章

发表于 2017-2-15 10:01:23 | 显示全部楼层
1、这类祖传古董有参考文献、开发文档、使用手册吗?
2、在github、SourceForge就没有开源的新版本?
3、课题组内有没有MATLAB或者Python的新版本?
4、通过文献阅读,能否获知国内外相关领域研究与程序开发的现状?
请先确定这个祖传古董代码对于lz接下来学习与工作的价值,不然就是事倍功半

3

帖子

1

主题

0

精华

新人

F 币
19 元
贡献
8 点
 楼主| 发表于 2017-2-15 22:23:20 | 显示全部楼层
fcode 发表于 2017-2-15 08:35
你这种工作我经常做,而且是商用(编译成软件卖钱)。

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

多谢大神指点,非常有用!

3

帖子

1

主题

0

精华

新人

F 币
19 元
贡献
8 点
 楼主| 发表于 2017-2-15 22:28:05 | 显示全部楼层
pasuka 发表于 2017-2-15 10:01
1、这类祖传古董有参考文献、开发文档、使用手册吗?
2、在github、SourceForge就没有开源的新版本?
3、课 ...

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

490

帖子

4

主题

0

精华

大宗师

F 币
3298 元
贡献
1948 点

水王勋章元老勋章热心勋章

发表于 2017-2-16 08:42:25 | 显示全部楼层
lex1lex 发表于 2017-2-15 22:28
有英文的使用手册,但是说实话上百个子程序,实在是无从下手。
祖传的古董还是没办法代替的,不太可能用 ...

既然有英文的使用手册,为啥不能顺藤摸瓜去网上查找该程序及其开发者的相关后续工作?相关的引用文献?
为啥不能去国内外相关论坛咨询该领域类似程序的现状?
临渊羡鱼,不如退而结网

100

帖子

0

主题

0

精华

专家

F 币
550 元
贡献
291 点

规矩勋章元老勋章

QQ
发表于 2017-2-19 15:16:54 | 显示全部楼层
先把大蛋糕分成份,然后一份一份的吃。

搞清楚各部分的作用,相互关系。就容易了
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-3-29 10:28

Powered by Tencent X3.4

© 2013-2024 Tencent

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