原始碼檔案
原始碼檔案是(通常)純文字檔案,由編譯器處理。原始碼檔案最多可包含一個主程式和任意數量的模組和外部子程式。例如,原始碼檔案可能包含以下內容
module mod1
end module mod1
module mod2
end module mod2
function func1() ! An external function
end function func1
subroutine sub1() ! An external subroutine
end subroutine sub1
program prog ! The main program starts here...
end program prog ! ... and ends here
function func2() ! An external function
end function func2
我們應該記得,即使外部子程式與模組和主程式在同一檔案中給出,外部子程式也不會被任何其他元件明確地知道。
或者,各個元件可以分佈在多個檔案中,甚至可以在不同時間編譯。應閱讀編譯器文件,瞭解如何將多個檔案組合到一個程式中。
單個原始碼檔案可能包含固定格式或自由格式的原始碼:雖然在編譯時組合的多個檔案可能具有不同的樣式,但它們不能混合使用。
要向編譯器指示源表單,通常有兩個選項:
- 選擇檔名字尾
- 使用編譯器標誌
可以在編譯器的文件中找到指示固定或自由格式源的編譯時標誌。
重要的檔名字尾也可以在編譯器的文件中找到,但作為一般規則,名為 file.f90
的檔案用於包含自由格式源,而檔案 file.f
用於包含固定格式源。
使用 .f90
字尾來指示自由格式源(在 Fortran 90 標準中引入)通常會誘使程式設計師使用字尾來指示原始碼符合的語言標準。例如,我們可能會看到帶有 .f03
或 .f08
字尾的檔案。這通常是要避免的:大多數 Fortran 2003 原始碼也符合 Fortran 77,Fortran 90/5 和 Fortran 2008.此外,許多編譯器不會自動考慮這樣的字尾。
編譯器通常還提供內建程式碼前處理器(通常基於 cpp)。同樣,編譯時標誌可用於指示預編譯器應在編譯之前執行,但原始碼檔案字尾也可指示此類預處理要求。
對於區分大小寫的檔案系統,檔案 file.F
通常被認為是要預處理的固定格式原始檔,而 file.F90
是要預處理的自由格式原始檔。和以前一樣,應該為這些標誌和檔案字尾查閱編譯器的文件。