回 帖 发 新 帖 刷新版面

主题:编译的时候遇到的两个诡异的事情,请大家指教!

有两个问题:

第一个:

在abc.F中有这样一个格式化输出:

write(iunit,2014)
2014 FORMAT (1X,'abc')

为什么编译的时候出现这样的错误:

write(iunit,2014)

1

错误: FORMAT 标号 2014 在(1)处未定义


这个问题我只要把XXX.F改为XXX.F90就可以编译的通,所以我想问是:

在xxxx.F的格式中不支持format格式输出?还是我格式写错了?

如果我只能用.F文件,请问该如何处理?


第二个:

怎样在程序中调用可执行文件?

具体的讲是这样的:

我想让程序在执行完的时候调用一个可执行文件A,

我是这样写的程序:call system('A')

但是编译的时候提示:

sh: 1: A: not found

我觉得应该是我的调用方式不对,请高手指教!

假如我想带参数调用应该怎样写命令?例如:

我想调用命令如下:

./A a.out

a.in作为执行A的输入,a.out作为执行后结果的输出文件

请指教!!

回复列表 (共1个回复)

沙发

问题1,如果是 *.f 文件,则认为是固定格式。如果是 *.f90 文件,则认为是自由格式。

固定格式的话,你试试调整 2014 FORMAT  (1X,"abc") 前面的空格。
某些编译环境可能会显示一条绿线,2014应该在绿线前方。

问题2,call system 就可以了。里面的参数跟你所在的操作系统的命令行一样。

windows下:a.exe /A a.out

我来回复

您尚未登录,请登录后再回复。点此登录或注册