原始碼檔案

原始碼檔案是(通常)純文字檔案,由編譯器處理。原始碼檔案最多可包含一個主程式和任意數量的模組和外部子程式。例如,原始碼檔案可能包含以下內容

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 是要預處理的自由格式原始檔。和以前一樣,應該為這些標誌和檔案字尾查閱編譯器的文件。