Fortran Coder

查看: 240|回复: 2

[求助] 求助f77程序重组问题

[复制链接]

2

帖子

1

主题

0

精华

新人

F 币
21 元
贡献
10 点
发表于 2020-10-20 18:54:53 | 显示全部楼层 |阅读模式
现在有主程序一个,子程序若干个,还有其他一些脚本程序 (请见附件)。
请问是否能将这些程序块儿组合成 “一个” 大的 *.f 程序(包括主程序子程序),然后将makefile,exec文件的信息,怎么融入到那个单独的大的*.f程序里面,
使得,直接f77 编译这个  *.f  程序就ok了?我不方便用好多碎片程序。

ampt.zip

401.33 KB, 下载次数: 1

回复

使用道具 举报

139

帖子

2

主题

0

精华

大师

F 币
959 元
贡献
500 点

规矩勋章

发表于 2020-10-21 08:38:33 | 显示全部楼层
可以直接合并,把所有文件合并成一个文件即可,把子程序放前面,主程序放在最后。
makefile是单独的,需要手动修改。
exec文件好像不用修改。

多个文件的好处是修改某个文件后不用全部重新编译,否则太浪费时间,小程序就无所谓。

2

帖子

1

主题

0

精华

新人

F 币
21 元
贡献
10 点
 楼主| 发表于 2020-10-22 09:00:09 | 显示全部楼层
谢谢!下面这个文件看不明白,是否可以讲一下啥意思,或者指点一下?

#!/bin/sh

system=`uname -s`
nrandom=`date '+%d%H%M%S'`
case $system in
    Linux|LINUX|UNIX|Unix|Darwin|DARWIN)
#        echo "You are running operating system" $system

# A la:
# Generate a random number. Copyright (c) Michael Still 2002
# Released under the terms of the GNU GPL
# It works for RedHat Linux, but not on ALPHA machines:
#        LOBOUND=1
#        HIBOUND=9999
#        RANDMAX=32767
#        BINUMBER1=$(( $LOBOUND + ($HIBOUND * $RANDOM) / ($RANDMAX + 1) ))
#        BINUMBER2=$(( $LOBOUND + ($HIBOUND * $RANDOM) / ($RANDMAX + 1) ))
#        BINUMBER=$(( $BINUMBER1*10000+$BINUMBER2 ))
#        echo $BINUMBER > nseed_runtime
        echo $nrandom > nseed_runtime
        ;;
    OSF*)
#        echo "You are running operating system" $system
        echo $nrandom > nseed_runtime
        ;;
    *)
        echo "You are running operating system other than Linux/UNIX/OSF"
        echo "Modify this file first"
        exit 1;
        ;;
esac
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

QQ|捐赠本站|Archiver|关于我们 About Us|群聊|Fcode

GMT+8, 2020-12-5 10:29

Powered by Discuz! X3.2

© 2001-2017 Comsenz Inc.

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