Fortran Coder

查看: 2445|回复: 3
打印 上一主题 下一主题

[指针] f77程序改造f90过程中关于动态数组与指针

[复制链接]

1963

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1357 元
贡献
574 点

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

楼主
发表于 2022-6-22 08:50:07 | 显示全部楼层
你这个工作难度比较大,且工作量也巨大。如非特别必要,尽量不要改。

如果确实需要改动,common 改 module 需要特别注意,有没有某些程序单元利用了内存对齐但数据类型不对齐。比如数组大小不一致,类型不一致。
equivalence 的处理也是一样。一般来说用指针代替是OK的,但要注意,有没有用不同维度的数组之间equivalence。

如果原始代码中大量用了数据类型(或数组大小)不一致的内存共用。有个更佳的办法是,读懂代码逻辑,完全重构。

1963

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1357 元
贡献
574 点

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

沙发
发表于 2022-6-23 12:02:40 | 显示全部楼层
简而言之,common是用内存对齐来匹配,而module是用变量名来匹配。

详解
http://common.w.fcode.cn/
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-5-4 01:11

Powered by Tencent X3.4

© 2013-2024 Tencent

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