精華區beta Fortran 關於我們 聯絡資訊
我的程式中有個整數變數 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
laa7352:如果在程式一開始用 read(*,*)d 去輸入d的值呢? 11/29 14:39
mantour:搜尋 iargc() 、 getarg() 11/29 18:23
mantour:或是用pipe送參數到stdin去用read(*,*)讀取 11/29 18:24
YCTzeng:成功了!我用fortran 2003的get_command_argument,謝謝 11/29 23:54
※ 編輯: YCTzeng 來自: 140.114.94.166 (12/29 12:16)