作者chise (chise)
看板Fortran
标题[问题] 请问如何开始fortran??
时间Sun Aug 14 23:07:53 2011
大家好
我有个教授给的fortran程式
看了後 我安装了mingw-get-inst 这个档案
然後想要去执行我的fortran程式
可是...
请问我要怎麽执行?
我非常的新手 在GOOGLE大量网页之前 我以为fortran跟c那些一样
有个介面可以让我输入程式码 然後我按run 他就会执行
後来发现fortran似乎要利用terminal来输入指令
这就难倒我了...
请问有大大可以教我 如何操作吗
ps:原本我是想使用mac来执行 然後安装了gfortran 按照他的指示
在terminal里输入 gfortran 档名.f 他就会开始执行了 他的确也跑了
不过他跑一跑出错了 我也不知道该怎麽办 所以就跳来windows用
有mac的经验 我想说 xp 这边是不是也要到 命令提示字元 里
输入 mingw 档名.f 这样让他跑 不过是不是也要把我所有的程式码 丢到某个特定
的资料夹 他才能读取到
我想要执行的程式里 有一堆subroutine
他的程式码 我基本上都看懂他在写什麽了 可是却还不会执行 冏rz 请高手帮帮我
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.27.170.174
1F:推 terryys:mingw是编译器,你说的输入程式码界面是ide,fortran ide 08/15 10:51
2F:→ terryys:比较少,我用过几个觉得code::blocks衍生的那个不错 08/15 10:52
3F:→ terryys:不过你只是要编译程式的话就是gfortran filename.f就可以 08/15 10:53
4F:→ terryys:但是环境变数要设好,mingw说明应该有 08/15 10:54
5F:→ terryys:然後你说的错误看起来是编译时候发生的,可以Po上来让大家 08/15 10:55
6F:→ terryys:帮忙看看 08/15 10:55
7F:→ blc:不用ide的话,一般都是写完程式存档 (例如 prog.f),然後编译 08/15 19:59
8F:→ blc:(例如 gfortran prog.f),成功的话会出现执行档( a.out ), 08/15 20:00
9F:→ blc:就可以run程式了 (例如 ./a.out )。 08/15 20:01
http://tinyurl.com/3js5mck
请问两位
我按照这个网站的说明在termainal 依序打了
cd ~
ls -al
然後因为没有.bash_profile这个档案 所以我也新建了这个档 然後在这个档里贴上了
PATH=/usr/local/bin:$PATH
之後就在iMac的资料夹 新建一个叫做gfortranwhamp的资料夹 把所有我要执行的
xxxxx.f 丢到里面 然後在terminal 打cd gfortranwhamp 到 gfortranwhamp 这资料夹
接着输入gfortran whamp.f (whamp.f是 program whamp的档案 其他档案
都是subroutine)
然後就出现了
comin.h:8.21:
Included at whamp.f:193:
COMMON /PLASMA/JMA,BVEC(3),DBVDR(3,4),DBDR(4),
Warning: COMMON 'plasma' at (1) requires 4 bytes of padding at start
ld warning: duplicate dylib /usr/local/lib/libgcc_s.1.dylib
Undefined symbols:
"_outpt_", referenced from:
_MAIN__ in ccOYGzgG.o
_MAIN__ in ccOYGzgG.o
"_typin_", referenced from:
_MAIN__ in ccOYGzgG.o
"_difu_", referenced from:
_MAIN__ in ccOYGzgG.o
_MAIN__ in ccOYGzgG.o
_MAIN__ in ccOYGzgG.o
"_read_input_file_", referenced from:
_MAIN__ in ccOYGzgG.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
请问两位 我是在哪个地方出错呢 @@??
outpt typin difu read_input_file 这些都是我的subroutine
※ 编辑: chise 来自: 114.47.210.141 (08/15 23:12)
※ 编辑: chise 来自: 114.47.210.141 (08/16 00:17)
10F:→ blc:gfortran whamp.f others.f moreone.f 08/16 09:52
我按照b大的方法 把所有会用到的全部输入了 结果...
comin.h:8.21:
Included at whamp.f:193:
COMMON /PLASMA/JMA,BVEC(3),DBVDR(3,4),DBDR(4),
Warning: COMMON 'plasma' at (1) requires 4 bytes of padding at start
wrfi.f:24.51:
SBU(IB)=GBU(IB)/SQRT(VG(1)**2+VG(2)**2+1.E-66)
Warning: Real constant underflows its kind at (1)
comin.h:8.21:
Included at wrfi.f:6:
COMMON /PLASMA/JMA,BVEC(3),DBVDR(3,4),DBDR(4),
Warning: COMMON 'plasma' at (1) requires 4 bytes of padding at start
comin.h:8.21:
Included at output.f:6:
COMMON /PLASMA/JMA,BVEC(3),DBVDR(3,4),DBDR(4),
Warning: COMMON 'plasma' at (1) requires 4 bytes of padding at start
comin.h:8.21:
Included at difu.f:10:
COMMON /PLASMA/JMA,BVEC(3),DBVDR(3,4),DBDR(4),
Warning: COMMON 'plasma' at (1) requires 4 bytes of padding at start
comin.h:8.21:
Included at xsi.f:15:
COMMON /PLASMA/JMA,BVEC(3),DBVDR(3,4),DBDR(4),
Warning: COMMON 'plasma' at (1) requires 4 bytes of padding at start
comin.h:8.21:
Included at av.f:23:
COMMON /PLASMA/JMA,BVEC(3),DBVDR(3,4),DBDR(4),
Warning: COMMON 'plasma' at (1) requires 4 bytes of padding at start
ld warning: duplicate dylib /usr/local/lib/libgcc_s.1.dylib
请问 这问题是出在哪里@@ 是我的gfortran版本跟program不合?
还是其他的问题? 这program是用fixed format写的 所以我的gfortran读得时候出错?
※ 编辑: chise 来自: 114.40.207.64 (08/16 17:49)
※ 编辑: chise 来自: 114.40.207.64 (08/16 17:53)
11F:推 terryys:都是warning的话还是可以编译 多数都是有关common block, 08/16 20:15
12F:→ terryys:这不一定会有问题 有一个1.e-66超出sp的范围了,这需要dp 08/16 20:17
13F:→ terryys:最後那个是说有重复的dylib,可能你的设置有点问题 08/16 20:18
我试着去解决这一行的问题
duplicate dylib /usr/local/lib/libgcc_s.1.dylib
我到terminal打了 cd /usr/local/lib
然後打 ls -al 查看所有里面的档案 发现里面有非常多的档案
我google後 有人建议说 要是/usr/local里没有其他东西 就整个删掉
不过我怕删掉不该删掉的东西 所以 我想要删掉libgcc_s.1.dylib这个档案
我就打rm libgcc_s.1.dylib
terminal显示 override rw-r--r-- 502/502 for libgcc_s.1.dylib?
我按 y
他出现rm: libgcc_s.1.dylib: Permission denied 不让我删除
我看了/usr/local/lib里的档案 档案拥有者 和 档案所属群组
不是502 就是 root
这... 502 是谁啊 @@
後来我找了一个指令 把所有user是502的 改成我的名字imac 可是依然不能删除><
※ 编辑: chise 来自: 114.40.207.64 (08/16 22:39)
※ 编辑: chise 来自: 114.40.207.64 (08/16 22:50)
※ 编辑: chise 来自: 114.40.207.64 (08/16 23:26)
14F:推 terryys:google gfortran dylib duplicate似乎是安装或版本问题 08/17 00:34
15F:→ terryys:然後也不应该尝试把那个删除 08/17 00:35
我google了好久 想要解决duplicate dylib /usr/local/lib/libgcc_s.1.dylib
似乎没有找到解决方法 rm 或 mv 也都是 permission denied
http://blog.chinaunix.net/space.php?uid=20145706&do=blog&cuid=1877638
我是听从这网页 #20 的建议才去做 移动或是删除那个档案
※ 编辑: chise 来自: 114.40.207.64 (08/17 04:04)
16F:推 terryys:你试过用sudo改名字吗?不建议移除是因为你以後需要这个档 08/17 12:30
17F:→ terryys:案的话就很可能需要重新安装 08/17 12:30