Fortran Coder

查看: 19973|回复: 14
打印 上一主题 下一主题

[编译器] GFortran编译时的预处理问题

[复制链接]

11

帖子

2

主题

0

精华

入门

F 币
53 元
贡献
29 点
跳转到指定楼层
楼主
发表于 2014-4-25 11:29:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
[Fortran] 纯文本查看 复制代码
open(366,file = inpath(1:lenstr(inpath))//
     &    '/atmosphere/cloud.in',status='old',
     &    form='unformatted')

为什么运行之后出现

warning: missing terminating ' character [enabled by default]
运行出来的.f文件显示

open(366,file = inpath(1:lenstr(inpath))                          
                                                                       1
Error: Syntax error in OPEN statement at (1)


请帮忙解决,谢谢!
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

736

帖子

4

主题

0

精华

大师

农村外出务工人员

F 币
700 元
贡献
359 点

新人勋章爱心勋章水王勋章元老勋章热心勋章

沙发
发表于 2014-4-25 12:24:54 | 只看该作者
Syntax error 是写法不对。看起来像是格式,续行的问题。

我这里是OK的,如果你还是有问题,建议你在这几行代码上截个图。

11

帖子

2

主题

0

精华

入门

F 币
53 元
贡献
29 点
板凳
 楼主| 发表于 2014-4-25 20:54:56 | 只看该作者
chuxf 发表于 2014-4-25 12:24
Syntax error 是写法不对。看起来像是格式,续行的问题。

我这里是OK的,如果你还是有问题,建议你在这几 ...

F:\bug.png
open(366,file=inpath(1:lenstr(inpath))//'/atmosphere/cloud.in')
问题是运行后形成的.f ,只能显示open(366,file=inpath(1:lenstr(inpath))导致无法形成.c 文件

bug.png (891 Bytes, 下载次数: 530)

bug.png

736

帖子

4

主题

0

精华

大师

农村外出务工人员

F 币
700 元
贡献
359 点

新人勋章爱心勋章水王勋章元老勋章热心勋章

地板
发表于 2014-4-25 20:59:23 | 只看该作者
什么叫只能显示 open(366,file=inpath(1:lenstr(inpath))

你为什么要形成 .c 文件?代码里明明是 cloud.in 文件啊

11

帖子

2

主题

0

精华

入门

F 币
53 元
贡献
29 点
5#
 楼主| 发表于 2014-4-25 21:27:08 | 只看该作者
chuxf 发表于 2014-4-25 20:59
什么叫只能显示 open(366,file=inpath(1:lenstr(inpath))

你为什么要形成 .c 文件?代码里明明是 cloud.in ...

错了,是要形成.o文件。这个是从cloud.in文件里读取数据,.F文件运行时要先形成.f文件,再形成.o文件。可是.f文件出现上述问题,导致无法运行

736

帖子

4

主题

0

精华

大师

农村外出务工人员

F 币
700 元
贡献
359 点

新人勋章爱心勋章水王勋章元老勋章热心勋章

6#
发表于 2014-4-25 21:30:44 | 只看该作者
*.F 形成 *.o 这个过程你不用描述。我知道的。

你只要告诉我错误提示就可以了。

现在,你的Open语句是怎么样的?是否续行了?(因为你一开始给的代码续行了,后来又写成一行了)

最好提供 Open 语句上下10行代码的截图

11

帖子

2

主题

0

精华

入门

F 币
53 元
贡献
29 点
7#
 楼主| 发表于 2014-4-25 21:35:47 | 只看该作者
chuxf 发表于 2014-4-25 21:30
*.F 形成 *.o 这个过程你不用描述。我知道的。

你只要告诉我错误提示就可以了。

不好意思,之前那个又修改了一下,是这个样子的,open执行不了,出现最开始的错误

bug.png (5.42 KB, 下载次数: 572)

bug.png

736

帖子

4

主题

0

精华

大师

农村外出务工人员

F 币
700 元
贡献
359 点

新人勋章爱心勋章水王勋章元老勋章热心勋章

8#
发表于 2014-4-25 21:41:26 | 只看该作者
检查一下你的 inpath 是否定义为字符串了吧。

我这边都一切正常。要不你再提供一下错误的截图?

11

帖子

2

主题

0

精华

入门

F 币
53 元
贡献
29 点
9#
 楼主| 发表于 2014-4-25 21:45:54 | 只看该作者
本帖最后由 小鱼 于 2014-4-25 21:47 编辑
chuxf 发表于 2014-4-25 21:41
检查一下你的 inpath 是否定义为字符串了吧。

我这边都一切正常。要不你再提供一下错误的截图? ...

atm/atm_hb.f:360.44:

      open(366,file=inpath(1:lenstr(inpath))                           
                                                                         1
Error: Syntax error in OPEN statement at (1)
make: *** [atm/atm_hb.o] Error 1

736

帖子

4

主题

0

精华

大师

农村外出务工人员

F 币
700 元
贡献
359 点

新人勋章爱心勋章水王勋章元老勋章热心勋章

10#
发表于 2014-4-25 22:00:37 | 只看该作者
能提供错误截图吗?

你的错误提示是
open(366,file=inpath(1:lenstr(inpath))      
有错,而代码里又是
open(366,file=inpath(1:lenstr(inpath))//'/atmosphere/cloud.in')

你确定是同一行?
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-12-23 05:05

Powered by Tencent X3.4

© 2013-2024 Tencent

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