2013-11-02 50 views
8

我是Fortran的血腥初學者。Fortran:f和F之間的區別

我想知道:是什麼的Fortran文件.F.F擴展之間的區別。我非常瞭解:f是免費的,F是固定的。

什麼是自由和固定實際上是什麼意思,爲什麼他們完全搞砸了編譯過程? (我正在使用gfortranifort)。

我使用google搜索fortran f和F之間的區別。我對結果不滿意,這就是爲什麼我轉向使用stackoverflow。

如果你能提出一個很好的參考來閱讀這個,我會很樂意這樣做。

回答

9

據我所知,.f.F都是與FORTRAN 77固定格式相關的擴展。固定格式限制爲72列,其中前六列用於特殊目的。例如。在位置6處的&指示從前一行開始的行延續。

自由格式與Fortran 90一起引入,通常由.f90.F90表示。對於自由格式,最多可以使用132列,並且不存在特殊列。行的延續由行末尾的&符表示。

文件擴展名中的大寫字母通常會打開預處理器。

請注意,這些約定可以被大多數編譯器的編譯選項覆蓋。

6

這是依賴於編譯器,應該可能不依賴。通常資本後綴表明,應該使用預處理。自由格式和固定格式之間的區別通常由.f90(免費)與.f(固定)進行區分。

由於這是依賴於編譯器的,所以好的文檔將是您的編譯器之一。如果你碰巧使用gfortran,你可以看看它的optionspreprocessing的部分。

+1

可惜不是,我不能標記兩個答案爲*認同的答案*。你的回答也很有用。謝謝! – seb

0

在gfortran,自由形式(COLS 7沒有特殊的意義,72)是由編譯器開關-ffree形式設置,並且具有無關.F.F文件後綴。 .f和.F之間的區別在於後者通過預處理器,其中最常見的用法是允許類似C的#define語句。例如:

#define MAXN 100 
program example 
integer N(MAXN) 
end 

將編譯如果是.F但如果是.F

+0

gfortran當然認識到「.f表示固定,.f90意味着免費」約定由其他答案指出。 – agentp