Fortran Coder

查看: 30913|回复: 17
打印 上一主题 下一主题

[求助] 这段一直提醒语法错误,想请帮忙看一下

[复制链接]

17

帖子

2

主题

0

精华

入门

F 币
96 元
贡献
47 点
跳转到指定楼层
楼主
发表于 2019-9-17 10:28:07 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
kk=0
do ii=1,60
do jj=2,61         
!射线向右 判断射线与边界有几条交点
           if ((pointx(ii)>xm .and. pointxx(jj)>xm) .or. (pointx(ii)>xm .and. pointxx(jj)<xm) .or. (pointx(ii)<xm .and. pointxx(jj)>xm)) then
              if (pointy(ii)>=ym .and. pointyy(jj)<ym) .or. (pointy(ii)<=ym .and. pointyy(jj)>ym) then
                 if (MOD(kk+1,2.)/=0.) then
                 kk=kk+1
                 ux(i,j,k)=0.
                 uy(i,j,k)=0.
                 uz(i,j,k)=0.
                 ep1(i,j,k)=1.
                 end if
              end if
           end if
    stop
end do
end do
return


一直提示语法错误,错误提示在截图上
请帮忙看一下,谢谢了





分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

17

帖子

2

主题

0

精华

入门

F 币
96 元
贡献
47 点
18#
 楼主| 发表于 2019-9-25 10:29:14 | 只看该作者
胡文刚 发表于 2019-9-24 12:09
你在源代码里写编译选项,是没用的。(如果不是注释,还会报错)
对于编译选项,每个编译器会有区别。同一 ...

您好,我使用的是linux系统gfortran编译器,我想问一下这些编译选项怎么加 这些知识点在哪找,我直接百度搜都搜不到,我想学习一下。还是这些编译器的帮助文档里面有说明?

101

帖子

0

主题

0

精华

大师

F 币
670 元
贡献
299 点

规矩勋章元老勋章新人勋章

17#
发表于 2019-9-24 12:09:03 | 只看该作者
你在源代码里写编译选项,是没用的。(如果不是注释,还会报错)
对于编译选项,每个编译器会有区别。同一款编译器的windows版和linux版可能也有差异。
你需要查阅编译器的帮助文档。

对于你提到的这几个选项,在windows上的VS里,可以这样设置:
项目菜单,属性。
-assume byterecl :   展开 Fortran,在Data分类里找到:Use Bytes as RECL= Unit for Unformatted files ,设置为 Yes
-mcmodel :   在 windows 上没有对应选项,无需设置
-shared-intel  :  在 windows 上没有对应选项,无需设置
天之道,损有余而补不足

17

帖子

2

主题

0

精华

入门

F 币
96 元
贡献
47 点
16#
 楼主| 发表于 2019-9-24 09:44:39 | 只看该作者
胡文刚 发表于 2019-9-19 08:17
第43行
OPTFC = -O3 -funroll-loops -ftree-vectorize -fcray-pointer -cpp
改成

您好我想在问一下,如果是单个程序想加编译选项的时候(没有Makefile文件)应该怎么加呢?是不是直接加到程序中就像图一这样(去掉注释符) 程序的说明是图二 您在帮忙看一下谢谢了。

17

帖子

2

主题

0

精华

入门

F 币
96 元
贡献
47 点
15#
 楼主| 发表于 2019-9-24 09:06:03 | 只看该作者
胡文刚 发表于 2019-9-19 08:17
第43行
OPTFC = -O3 -funroll-loops -ftree-vectorize -fcray-pointer -cpp
改成

非常感谢

101

帖子

0

主题

0

精华

大师

F 币
670 元
贡献
299 点

规矩勋章元老勋章新人勋章

14#
发表于 2019-9-19 08:17:16 | 只看该作者
第43行
OPTFC = -O3 -funroll-loops -ftree-vectorize -fcray-pointer -cpp
改成
OPTFC = -O3 -funroll-loops -ftree-vectorize -fcray-pointer -cpp -ffree-line-length-none
天之道,损有余而补不足

17

帖子

2

主题

0

精华

入门

F 币
96 元
贡献
47 点
13#
 楼主| 发表于 2019-9-18 22:06:17 | 只看该作者
fcode 发表于 2019-9-18 17:36
你是怎么编译的?
如果用的 makefile,需要编辑一下这个文件。

就是用的Makefile, Makefile.f90 (2.33 KB, 下载次数: 4) 因为Makefile文件不支持上传我就改成了.f格式了,这个怎么加,我找了百度都是一些解释编译选项是干啥的,没有怎么加,我这是改别人的代码,自己是一个新手,帮忙解释一下谢谢了。

2033

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1641 元
贡献
709 点

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

12#
发表于 2019-9-18 17:36:17 | 只看该作者
你是怎么编译的?
如果用的 makefile,需要编辑一下这个文件。

17

帖子

2

主题

0

精华

入门

F 币
96 元
贡献
47 点
11#
 楼主| 发表于 2019-9-18 17:28:16 | 只看该作者
胡文刚 发表于 2019-9-18 11:06
你编译时的命令,后面那些:
-O3
-funroll-loops

您好,我是刚接触fortran,怎么增加选项啊

101

帖子

0

主题

0

精华

大师

F 币
670 元
贡献
299 点

规矩勋章元老勋章新人勋章

10#
发表于 2019-9-18 11:06:28 | 只看该作者
你编译时的命令,后面那些:
-O3
-funroll-loops
-ftree-vectorize
-fcray-pointer
-cpp
都是编译选项呀。
现在,你可以增加一个选项
-ffree-line-length-none
这样,你就不需要续行了。
天之道,损有余而补不足
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-12-22 20:58

Powered by Tencent X3.4

© 2013-2024 Tencent

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