以下節錄於水利系HP工作站使用介紹 (81.2.20) Devil(璉璉) Devil.bbs@vlsi1.iie.ncku.edu.tw ddj(密點石斑) ddj.bbs@vlsi1.iie.ncku.edu.tw --------------------------------------------------------------------------- Fortran 77 程式語言的 Compile, Link及執行 Compiler Link Editor Source --------> Object -------------> Executable File(s) File(s) File(s) 1.建立一個可執行的程式: 語法: $ f77 filename f77 將 Fortran source programs 轉變為 Relocatable Object , 然後再呼叫 HP-UX link editor(ld), 去建立一個可執行的程式, Default 名稱為 "a.out" Ex1: $ f77 prog.f (產生一個目的檔: prog.o , 和一個可執行的程式: a.out) Ex2: $ f77 main.f subs1.f subs2.f (產生三個目的檔: main.o, subs1.o和 subs2.o, 以及一個可執行的程 式: a.out) Fortran source programs 必須具備有讀取 (read) 的存取權, 否則將出現下面 的訊息: f77: Cannot read file filename 可以試著利用 chmod公用程式, 改變檔案的存取權狀態. $ chmod +r filename 2.給一個可執行的程式一個名稱: 語法: $ f77 -o executable_file filename Ex: $ f77 prog.x prog.f (產生一個目的檔: prog.o , 和一個可執行的程式: prog.x) 3.Compiler Only (-c): 語法: $ f77 -c filename Ex1: $ f77 -c prog.f (只產生一個目的檔: prog.o) $ f77 -o prog.x prog.o Ex2: $ f77 -c subs.f funcs.f (產生二個目的檔: subs.o 和 funcs.o) $ f77 -o main.x main.f subs.o funcs.o 附註: 以下為錯誤用法, 不能同時指同 colpile only , 還要產生一個可執行的 程式: $ f77 -c prog.f -o prog.x 4.產生最佳化 (optimize) 的可執行程式: 語法: $ f77 -0 filename -o executable_file Ex : $ f77 -0 prog1.f prog2.f prog3.f -o prog.x 如果您的程式要 Symbolic Dubegger 的話, 不可使用最佳化, 否則會造成程式 的錯誤. 5.執行程式 (Execte File) a.On-line 執行程式 語法: $ executable_file Ex : $ prog.x (直接執行可執行程式: prog.x) b.Off-line 執行程式 語法: $ nohup executable_file & (nohup 為 no-hang-up, 符號 "&"是 background 的意思, 表示 logout 後 仍可繼續執行程式, 不佔用 terminal, 有輸出會送至 nohup.out) 6.其它 (感謝 ddj提供) $ f77 +O3 -K -o prog.x prog.f +O3: 編譯成 lable 3, 平行處理速度加快. (有些機器可到 +O5, lable 5) -K : 矩陣太大時加入. $ nohup time prog.x & 將執行時間記入 nohup.out ps. 其餘請參考 FORTRAN/9000 Reference