作者YCTzeng (DMRG)
看板Fortran
标题[问题] 如何在执行时同时外加变数?
时间Sun Nov 29 14:17:48 2009
我的程式中有个整数变数 d,我需要计算d=0,3,7,11,...等等的情形,
我目前的做法是修改程式中的 d=0 ,然後编译成执行档 d0.exe,
再修改程式让 d=3,然後编译成执行档 d3.exe,
再修改程式让 d=7,然後再编译程执行档 d7.exe,以此类堆,...
我有很多电脑作业系统是 Linux,把这些执行档都存到这些电脑里,
然後到第一台机器执行 ./d0.exe
到第二台电脑执行 ./d3.exe
第三台电脑执行 ./d7.exe,以此类推...
但是这样觉得很麻烦,因为我就必须编译几百个执行档,其实程式内容都一样,
只有变数d不同,有没有甚麽办法不用MPI,然後只编译一个执行档,就可以
在不同电脑执行不同d?
例如程式中并没有给定d的数值,然後编译初执行档 a.exe,
然後执行的时候只要在shell下
./a.exe 3
这样就可以执行d=3的情形?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.136.69.127
1F:推 laa7352:如果在程式一开始用 read(*,*)d 去输入d的值呢? 11/29 14:39
2F:推 mantour:搜寻 iargc() 、 getarg() 11/29 18:23
3F:→ mantour:或是用pipe送参数到stdin去用read(*,*)读取 11/29 18:24
4F:→ YCTzeng:成功了!我用fortran 2003的get_command_argument,谢谢 11/29 23:54
※ 编辑: YCTzeng 来自: 140.114.94.166 (12/29 12:16)