EnglishFrenchGermanItaliPortugueseRussiaSpanyol

Favicon OnWorks

mips64-linux-gnuabi64-gfortran - Dalam Talian di Awan

Jalankan mips64-linux-gnuabi64-gfortran dalam penyedia pengehosan percuma OnWorks melalui Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS

Ini ialah arahan mips64-linux-gnuabi64-gfortran yang boleh dijalankan dalam penyedia pengehosan percuma OnWorks menggunakan salah satu daripada berbilang stesen kerja dalam talian percuma kami seperti Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS.

JADUAL:

NAMA


gfortran - pengkompil GNU Fortran

SINOPSIS


gfortran [-c|-S|-E]
[-g] [-pg] [-Otahap]
[-Wmemberi amaran kepada...] [-pedantik]
[-Idir...] [-Ldir...]
[-Dmakro[=defn]...] [-Umakro]
[-fpilihan...]
[-mpilihan mesin...]
[-o fail luar] dalam fail...

Hanya pilihan yang paling berguna disenaraikan di sini; lihat di bawah untuk bakinya.

DESCRIPTION


. gfortran arahan menyokong semua pilihan yang disokong oleh gcc perintah. Hanya pilihan
khusus untuk GNU Fortran didokumenkan di sini.

Semua pilihan GCC dan GNU Fortran diterima kedua-duanya oleh gfortran dan oleh gcc (serta mana-mana
pemandu lain yang dibina pada masa yang sama, seperti g ++), sejak menambahkan GNU Fortran pada GCC
pengedaran membolehkan penerimaan pilihan GNU Fortran oleh semua pemacu yang berkaitan.

Dalam sesetengah kes, pilihan mempunyai bentuk positif dan negatif; bentuk negatif daripada -ffoo akan
be -fno-foo. Manual ini hanya mendokumenkan satu daripada dua borang ini, yang mana satu bukan
lalai.

PILIHAN


Berikut ialah ringkasan semua pilihan khusus untuk GNU Fortran, dikumpulkan mengikut jenis.
Penjelasan ada di bahagian berikut.

Fortran Bahasa Pilihan
-jatuh-intrinsik -fbackslash -fcray-penunjuk -fd-lines-as-code -fd-lines-as-comments
-fdefault-double-8 -fdefault-integer-8 -fdefault-real-8 -fdollar-ok
-panjang-garis-difiksasi-n -difiks-garis-panjang-tiada -ffree-form -panjang-garis-ffree-n
-ffree-garis-panjang-tiada -fimplicit-tiada -finteger-4-integer-8 -fmax-pengenal-panjang
-fmodule-peribadi -bentuk-berikat -fno-range-check -fopenacc -fopenmp -freal-4-real-10
-freal-4-real-16 -freal-4-real-8 -freal-8-real-10 -freal-8-real-16 -freal-8-real-4
-std=std

Pemprosesan Pra Pilihan
-A-soalan[=menjawab] -Asoalan=menjawab -C -CC -Dmakro[=defn] -H -P -Umakro -cpp -dD
-dI -dM -dN -dU -fworking-direktori -imultilib dir -iprefix fail -iquote -isysroot dir
-isistem dir -nocpp -nostdinc -undef

ralat dan Amaran Pilihan
-Waliasing -Dinding -Wampersand -Warray-bounds -Wc-binding-jenis -Watak-pemangkasan
-Wpenukaran -Wfungsi-penghapusan -Antaramuka-wimplicit -Prosedur-wimplisit
-bayang-bayang wintrinsik -Wuse-tanpa-sahaja -Witrinsics-std -Pemotongan garisan
-Wno-align-commons -Wno-tabs -Wreal-q-malar -Mengejutkan -Wunderflow
-Wunused-parameter -Wrealloc-lhs -Wrealloc-lhs-semua -Wtarget-seumur hidup -fmax-errors=n
-fsyntax sahaja -pedantik -kesilapan-pedantik

Debugging Pilihan
-fbacktrace -fdump-fortran-dioptimumkan -fdump-fortran-original -fdump-parse-tree
-ffpe-perangkap=senarai -ffpe-ringkasan=senarai

Direktori Pilihan
-Idir -Jdir -laluan-modul-fintrinsik dir

link Pilihan
-statik-libgfortran

Runtime Pilihan
-fconvert=Penukaran -fmax-subrecord-length=panjang -frecord-marker=panjang -fsign-sifar

Kod Generasi Pilihan
-faggressive-fungsi-penghapusan -fblas-matmul-limit=n -fbounds-semak
-fcheck-array-temporaries -fcheck=
-fcoarray= -fexternal-blas -ff2c -ffrontend-optimumkan
-finit-character=n -finit-integer=n -finit-lokal-sifar -finit-logik=
-finit-real= -fmax-array-constructor=n -fmax-stack-var-size=n
-fno-align-commons -fno-automatik -fno-protect-parents -fno-garis bawah
-fsecond-garis bawah -fpack-derived -frealloc-lhs -frekursif -susun-susun frepack
-fshort-enums -fstack-arrays

Pilihan mengawal Fortran dialek
Pilihan berikut mengawal butiran dialek Fortran yang diterima oleh pengkompil:

-ffree-form
-bentuk-berikat
Tentukan reka letak yang digunakan oleh fail sumber. Susun atur borang percuma telah diperkenalkan dalam
Fortran 90. Borang tetap digunakan secara tradisional dalam program Fortran yang lebih lama. Bila
tiada pilihan dinyatakan, borang sumber ditentukan oleh sambungan fail.

-jatuh-intrinsik
Pilihan ini menyebabkan semua prosedur intrinsik (termasuk sambungan khusus GNU) kepada
diterima. Ini boleh berguna dengan -std=f95 untuk memaksa pematuhan standard tetapi dapatkan
akses kepada rangkaian penuh intrinsik yang tersedia dengan gfortran. Sebagai akibatnya,
-Witrinsics-std akan diabaikan dan tiada prosedur yang ditentukan pengguna dengan nama yang sama seperti
sebarang intrinsik akan dipanggil kecuali apabila ia secara eksplisit diisytiharkan "LUARAN".

-fd-lines-as-code
-fd-lines-as-comments
Dayakan layanan khas untuk baris yang bermula dengan "d" atau "D" dalam sumber bentuk tetap.
Jika -fd-lines-as-code pilihan diberikan mereka dianggap seolah-olah lajur pertama
mengandungi kosong. Sekiranya -fd-lines-as-comments pilihan diberikan, mereka dianggap sebagai
baris komen.

-fdollar-ok
Benarkan $ sebagai aksara bukan pertama yang sah dalam nama simbol. Simbol yang bermula dengan $ adalah
ditolak kerana tidak jelas peraturan yang digunakan untuk menaip tersirat sebagai berbeza
vendor melaksanakan peraturan yang berbeza. menggunakan $ dalam kenyataan "IMPLICIT" juga ditolak.

-fbackslash
Tukar tafsiran garis miring ke belakang dalam literal rentetan daripada satu garis miring ke belakang
aksara kepada aksara melarikan diri "gaya-C". Gabungan berikut dikembangkan
"\a", "\b", "\f", "\n", "\r", "\t", "\v", "\\", dan "\0" kepada aksara ASCII
amaran, ruang belakang, suapan borang, baris baharu, pemulangan pengangkutan, tab mendatar, tab menegak,
garis miring ke belakang, dan NUL, masing-masing. Selain itu, "\x"nn, "\u"NNNN dan anda"nnnnnnnn
(di mana setiap n ialah digit heksadesimal) diterjemahkan ke dalam aksara Unicode
sepadan dengan titik kod yang ditentukan. Semua gabungan lain watak
didahului oleh \ tidak dikembangkan.

-fmodule-peribadi
Tetapkan kebolehcapaian lalai entiti modul kepada "SWASTA". Berkaitan penggunaan
entiti tidak akan dapat diakses melainkan mereka diisytiharkan secara eksplisit sebagai "AWAM".

-panjang-garis-difiksasi-n
Tetapkan lajur selepas itu aksara diabaikan dalam baris bentuk tetap biasa dalam
fail sumber, dan melalui mana ruang diandaikan (seolah-olah empuk sepanjang itu) selepas
hujung garisan bentuk tetap pendek.

Nilai popular untuk n termasuk 72 (standard dan lalai), 80 (imej kad), dan
132 (bersamaan dengan pilihan "sumber lanjutan" dalam beberapa penyusun popular). n mungkin
juga menjadi tiada, bermakna keseluruhan baris bermakna dan watak berterusan itu
pemalar tidak pernah mempunyai ruang tersirat yang dilampirkan padanya untuk mengisi baris.
-panjang-garis-difiks-0 bermaksud perkara yang sama seperti -difiks-garis-panjang-tiada.

-panjang-garis-ffree-n
Tetapkan lajur selepas itu aksara diabaikan dalam baris bentuk bebas biasa dalam sumber
fail. Nilai lalai ialah 132. n mungkin tiada, bermakna keseluruhan baris adalah
bermakna. -ffree-line-panjang-0 bermaksud perkara yang sama seperti -ffree-garis-panjang-tiada.

-fmax-identifier-length=n
Tentukan panjang pengecam maksimum yang dibenarkan. Nilai biasa ialah 31 (Fortran 95) dan
63 (Fortran 2003 dan Fortran 2008).

-fimplicit-tiada
Tentukan bahawa tiada penaipan tersirat dibenarkan, melainkan diganti dengan "IMPLICIT" eksplisit
kenyataan. Ini adalah bersamaan dengan menambah "tiada tersirat" pada permulaan setiap
prosedur.

-fcray-penunjuk
Dayakan sambungan penuding Cray, yang menyediakan fungsi penuding seperti C.

-fopenacc
Dayakan sambungan OpenACC. Ini termasuk arahan OpenACC "!$acc" dalam bentuk percuma
dan arahan "c$acc", *$acc dan "!$acc" dalam bentuk tetap, "!$" kompilasi bersyarat
sentinel dalam bentuk bebas dan sentinel "c$", "*$" dan "!$" dalam bentuk tetap, dan apabila
memaut mengatur agar perpustakaan masa jalan OpenACC dipautkan.

Ambil perhatian bahawa ini ialah ciri percubaan, tidak lengkap dan tertakluk kepada perubahan pada masa hadapan
versi GCC. Lihathttps://gcc.gnu.org/wiki/OpenACC> untuk maklumat lanjut.

-fopenmp
Dayakan sambungan OpenMP. Ini termasuk arahan OpenMP "!$omp" dalam bentuk percuma
dan arahan "c$omp", *$omp dan "!$omp" dalam bentuk tetap, "!$" kompilasi bersyarat
sentinel dalam bentuk bebas dan sentinel "c$", "*$" dan "!$" dalam bentuk tetap, dan apabila
pemautan mengatur agar perpustakaan masa jalan OpenMP dipautkan masuk. Pilihannya -fopenmp
bererti -frekursif.

-fno-range-check
Lumpuhkan semakan julat pada hasil pemudahan ungkapan malar semasa
kompilasi. Sebagai contoh, GNU Fortran akan memberikan ralat pada masa penyusunan apabila
memudahkan "a = 1. / 0". Dengan pilihan ini, tiada ralat akan diberikan dan "a" akan menjadi
memberikan nilai "+Infiniti". Jika ungkapan menilai kepada nilai di luar
julat relevan ["-HUGE()":"HUGE()"], maka ungkapan akan digantikan dengan "-Inf"
atau "+Inf" mengikut kesesuaian. Begitu juga, "DATA i/Z'FFFFFFFF'/" akan menghasilkan integer
limpahan pada kebanyakan sistem, tetapi dengan -fno-range-check nilai akan "membungkus" dan
"i" akan dimulakan kepada -1 sebaliknya.

-fdefault-integer-8
Tetapkan jenis integer dan logik lalai kepada jenis lebar 8 bait. Pilihan ini juga
mempengaruhi jenis pemalar integer seperti 42. Tidak seperti -finteger-4-integer-8, ia berlaku
tidak menggalakkan pembolehubah dengan pengisytiharan jenis eksplisit.

-fdefault-real-8
Tetapkan jenis sebenar lalai kepada jenis lebar 8 bait. Pilihan ini juga mempengaruhi jenis
pemalar nyata bukan berganda seperti 1.0, dan mempromosikan lebar lalai "DOUBLE
PRECISION" hingga 16 bait jika boleh, melainkan "-fdefault-double-8" juga diberikan. Tidak seperti
-freal-4-real-8, ia tidak menggalakkan pembolehubah dengan pengisytiharan jenis eksplisit.

-fdefault-double-8
Tetapkan jenis "DOUBLE PRECISION" kepada jenis lebar 8 bait. Jangan lakukan apa-apa jika ini sudah berlaku
lalai. Jika -fdefault-real-8 diberikan, "DOUBLE PECISION" sebaliknya
dinaikkan pangkat kepada 16 bait jika boleh, dan -fdefault-double-8 boleh digunakan untuk mencegah perkara ini.
Jenis pemalar sebenar seperti "1.d0" tidak akan diubah oleh -fdefault-real-8 walaupun,
begitu juga -fdefault-double-8 tidak menjejaskannya.

-finteger-4-integer-8
Naikkan pangkat semua entiti "INTEGER(KIND=4)" kepada entiti "INTEGER(KIND=8)". Jika "JENIS=8"
tidak tersedia, maka ralat akan dikeluarkan. Pilihan ini harus digunakan dengan berhati-hati
dan mungkin tidak sesuai untuk kod anda. Kawasan yang mungkin menjadi kebimbangan termasuk panggilan ke
prosedur luaran, penjajaran dalam "PERSAMAAN" dan/atau "BIASA", antara muka generik,
Penukaran malar literal BOZ, dan I/O. Pemeriksaan perantaraan
perwakilan kod Fortran yang diterjemahkan, dihasilkan oleh -fdump-tree-asli, Adalah
mencadangkan.

-freal-4-real-8
-freal-4-real-10
-freal-4-real-16
-freal-8-real-4
-freal-8-real-10
-freal-8-real-16
Naikkan pangkat semua entiti "REAL(KIND=M)" kepada entiti "REAL(KIND=N)". Jika "REAL(KIND=N)" ialah
tidak tersedia, maka ralat akan dikeluarkan. Semua jenis jenis sebenar yang lain tidak terjejas
dengan pilihan ini. Pilihan ini harus digunakan dengan berhati-hati dan mungkin tidak sesuai untuknya
kod anda. Bidang yang mungkin menjadi kebimbangan termasuk panggilan ke prosedur luaran, penjajaran
dalam "PERSAMAAN" dan/atau "BIASA", antara muka generik, penukaran berterusan literal BOZ,
dan I/O. Pemeriksaan perwakilan perantaraan Fortran yang diterjemahkan
kod, dihasilkan oleh -fdump-tree-asli, adalah dicadangkan.

-std=std
Nyatakan piawaian yang dijangka dipatuhi oleh program, yang mungkin salah satu daripadanya
f95, f2003, f2008, gnu, Atau legasi. Nilai lalai untuk std is gnu, yang menentukan
superset standard Fortran 95 yang merangkumi semua sambungan yang disokong oleh
GNU Fortran, walaupun amaran akan diberikan untuk sambungan usang tidak disyorkan
untuk digunakan dalam kod baharu. The legasi nilai adalah bersamaan tetapi tanpa amaran untuk
sambungan usang, dan mungkin berguna untuk program lama bukan standard. The f95, f2003
dan f2008 nilai menyatakan pematuhan ketat kepada Fortran 95, Fortran 2003 dan
Piawaian Fortran 2008, masing-masing; ralat diberikan untuk semua sambungan di luar
standard bahasa yang relevan, dan amaran diberikan untuk ciri Fortran 77 yang
dibenarkan tetapi usang dalam piawaian kemudian. -std=f2008ts membenarkan Fortran 2008
standard termasuk penambahan Spesifikasi Teknikal (TS) 29113 pada Selanjutnya
Saling kendali Fortran dengan C dan TS 18508 pada Ciri Selari Tambahan dalam
Fortran.

enable dan menyesuaikan prapemprosesan
Pilihan berkaitan prapemproses. Lihat bahagian Pemprosesan Pra dan bersyarat kompilasi untuk
maklumat lebih terperinci tentang prapemprosesan dalam gfortran.

-cpp
-nocpp
Dayakan prapemprosesan. Prapemproses dipanggil secara automatik jika sambungan fail
is .fpp, .FPP, .F, .UNTUK, .FTN, .F90, .F95, .F03 or .F08. Gunakan pilihan ini untuk secara manual
dayakan prapemprosesan apa-apa jenis fail Fortran.

Untuk melumpuhkan prapemprosesan fail dengan mana-mana sambungan yang disenaraikan di atas, gunakan fail
bentuk negatif: -nocpp.

Prapemproses dijalankan dalam mod tradisional. Sebarang sekatan format fail,
terutamanya had pada panjang talian, memohon untuk output praproses juga, jadi ia
mungkin dinasihatkan untuk menggunakan -ffree-garis-panjang-tiada or -difiks-garis-panjang-tiada
pilihan.

-dM Daripada keluaran biasa, jana senarai arahan '#define' untuk semua
makro yang ditakrifkan semasa pelaksanaan prapemproses, termasuk makro yang dipratentukan.
Ini memberi anda cara untuk mengetahui perkara yang dipratakrifkan dalam versi anda
prapemproses. Dengan mengandaikan anda tidak mempunyai fail foo.f90, arahan

sentuh foo.f90; gfortran -cpp -E -dM foo.f90

akan menunjukkan semua makro yang dipratentukan.

-dD suka -dM kecuali dalam dua aspek: ia tidak termasuk makro yang dipratentukan, dan ia
mengeluarkan kedua-dua arahan "#define" dan hasil prapemprosesan. Kedua-dua jenis
output pergi ke fail output standard.

-dN suka -dD, tetapi hanya mengeluarkan nama makro, bukan pengembangannya.

-dU suka dD kecuali bahawa hanya makro yang dikembangkan, atau yang ketakrifannya diuji
arahan prapemproses, adalah output; output ditangguhkan sehingga penggunaan atau ujian
makro; dan arahan '#undef' juga adalah output untuk makro yang diuji tetapi tidak ditentukan pada
masa.

-dI Keluarkan arahan '#include' sebagai tambahan kepada hasil prapemprosesan.

-fworking-direktori
Dayakan penjanaan penanda garis dalam output prapemproses yang akan membenarkan pengkompil
mengetahui direktori kerja semasa pada masa prapemprosesan. Apabila pilihan ini
didayakan, prapemproses akan mengeluarkan, selepas penanda garis awal, penanda garis kedua
dengan direktori kerja semasa diikuti dengan dua garis miring. GCC akan menggunakan ini
direktori, apabila ia hadir dalam input praproses, sebagai direktori yang dipancarkan sebagai
direktori kerja semasa dalam beberapa format maklumat penyahpepijatan. Pilihan ini adalah
didayakan secara tersirat jika maklumat penyahpepijatan didayakan, tetapi ini boleh dihalang dengan
bentuk yang dinafikan -fno-working-directory. Jika -P bendera hadir dalam arahan
baris, pilihan ini tidak mempunyai kesan, kerana tiada arahan "#line" dikeluarkan sama sekali.

-idirafter dir
Carian dir untuk memasukkan fail, tetapi lakukannya selepas semua direktori yang ditentukan dengan -I dan
direktori sistem standard telah habis. dir dianggap sebagai satu sistem
sertakan direktori. Jika dir bermula dengan "=", maka "=" akan digantikan dengan
awalan sysroot; lihat --sysroot dan -isysroot.

-imultilib dir
Penggunaan dir sebagai subdirektori direktori yang mengandungi pengepala C++ khusus sasaran.

-iprefix awalan
Tentukan awalan sebagai awalan untuk seterusnya -idengan awalan pilihan. Sekiranya awalan
mewakili direktori, anda harus memasukkan '/' akhir.

-isysroot dir
Pilihan ini adalah seperti --sysroot pilihan, tetapi terpakai hanya pada fail pengepala. Lihat
--sysroot pilihan untuk maklumat lanjut.

-iquote dir
Carian dir hanya untuk fail pengepala yang diminta dengan "#include "file""; mereka tidak
mencari "#include ", sebelum semua direktori yang ditentukan oleh -I dan sebelum
direktori sistem standard. Jika dir bermula dengan "=", kemudian "=" akan digantikan dengan
awalan sysroot; lihat --sysroot dan -isysroot.

-isistem dir
Carian dir untuk fail pengepala, selepas semua direktori yang ditentukan oleh -I tetapi sebelum
direktori sistem standard. Tandainya sebagai direktori sistem, supaya ia menjadi sama
layanan khas seperti yang digunakan pada direktori sistem standard. Jika dir bermula dengan
"=", maka "=" akan digantikan dengan awalan sysroot; lihat --sysroot dan -isysroot.

-nostdinc
Jangan cari direktori sistem standard untuk fail pengepala. Hanya direktori
anda telah tentukan dengan -I pilihan (dan direktori fail semasa, jika
sesuai) dicari.

-undef
Jangan pratakrif mana-mana makro khusus sistem atau khusus GCC. Piawaian yang telah ditetapkan
makro kekal ditakrifkan.

-Apredikat=menjawab
Buat penegasan dengan predikat predikat dan jawapannya menjawab. Borang ini adalah
lebih disukai daripada bentuk yang lebih lama - Predikat(jawapan), yang masih disokong, kerana ia
tidak menggunakan aksara khas shell.

-A-predikat=menjawab
Batalkan penegasan dengan predikat predikat dan jawapannya menjawab.

-C Jangan buang komen. Semua komen dihantar ke fail output, kecuali
untuk ulasan dalam arahan yang diproses, yang dipadamkan bersama arahan.

Anda harus bersedia untuk kesan sampingan apabila menggunakan -C; ia menyebabkan prapemproses
menganggap komen sebagai token dalam hak mereka sendiri. Sebagai contoh, ulasan yang muncul di
permulaan apa yang akan menjadi garis arahan mempunyai kesan mengubah baris itu menjadi
baris sumber biasa, kerana token pertama pada baris itu bukan lagi '#'.

Amaran: ini pada masa ini mengendalikan komen Gaya C sahaja. Prapemproses belum lagi
mengenali komen gaya Fortran.

-CC Jangan buang ulasan, termasuk semasa pengembangan makro. Ini seperti -C, kecuali
bahawa komen yang terkandung dalam makro juga dihantar ke fail output di mana
makro diperluaskan.

Sebagai tambahan kepada kesan sampingan -C pilihan, -CC pilihan menyebabkan semua gaya C++
ulasan di dalam makro untuk ditukar kepada ulasan gaya C. Ini untuk mengelakkan nanti
penggunaan makro itu daripada mengulas baki baris sumber secara tidak sengaja.
. -CC pilihan biasanya digunakan untuk menyokong komen lint.

Amaran: ini pada masa ini mengendalikan komen C- dan C++-Style sahaja. Prapemproses melakukannya
belum mengenali komen ala Fortran.

-Dnama
Pratakrif nama sebagai makro, dengan definisi 1.

-Dnama=definisi
Kandungan dari definisi ditandakan dan diproses seolah-olah ia muncul semasa
terjemahan fasa tiga dalam arahan '#define'. Khususnya, definisi akan
dipenggal oleh aksara baris baharu yang dibenamkan.

Jika anda menggunakan prapemproses daripada program seperti shell atau shell yang anda perlukan
untuk menggunakan sintaks petikan shell untuk melindungi aksara seperti ruang yang mempunyai a
maksud dalam sintaks shell.

Jika anda ingin mentakrifkan makro seperti fungsi pada baris arahan, tulis hujahnya
senaraikan dengan kurungan sekeliling sebelum tanda sama (jika ada). Tanda kurung ialah
bermakna kepada kebanyakan cangkerang, jadi anda perlu memetik pilihan. Dengan sh dan csh,
"-D'name(args...)=definition'" berfungsi.

-D dan -U pilihan diproses mengikut susunan yang diberikan pada baris arahan. Semua
-imacros fail dan -include pilihan fail diproses selepas semua pilihan -D dan -U.

-H Cetak nama setiap fail pengepala yang digunakan, sebagai tambahan kepada aktiviti biasa yang lain. setiap satu
nama diinden untuk menunjukkan sejauh mana dalam tindanan '#include' itu.

-P Menghalang penjanaan penanda garis dalam output daripada prapemproses. Ini mungkin
berguna apabila menjalankan prapemproses pada sesuatu yang bukan kod C, dan akan dihantar
kepada program yang mungkin dikelirukan oleh penanda garis.

-Unama
Batalkan sebarang takrifan sebelumnya bagi nama, sama ada terbina dalam atau disediakan dengan a -D pilihan.

Pilihan kepada meminta or menyekat kesilapan dan amaran
Ralat ialah mesej diagnostik yang melaporkan bahawa pengkompil GNU Fortran tidak boleh menyusun
sekeping kod sumber yang berkaitan. Pengkompil akan terus memproses program masuk
percubaan untuk melaporkan ralat selanjutnya untuk membantu dalam penyahpepijatan, tetapi tidak akan menghasilkan sebarang kompilasi
output.

Amaran ialah mesej diagnostik yang melaporkan pembinaan yang tidak wujud secara semula jadi
salah tetapi yang berisiko atau mencadangkan kemungkinan terdapat pepijat dalam program.
Kecuali -Werror ditentukan, mereka tidak menghalang penyusunan program.

Anda boleh meminta banyak amaran khusus dengan pilihan bermula -W, Sebagai contoh -Wimplisit
untuk meminta amaran mengenai pengisytiharan tersirat. Setiap pilihan amaran khusus ini juga
mempunyai permulaan bentuk negatif -Wno- untuk mematikan amaran; sebagai contoh, -Wno-tersirat.
Manual ini hanya menyenaraikan satu daripada dua borang, yang mana bukan lalai.

Pilihan ini mengawal jumlah dan jenis ralat dan amaran yang dihasilkan oleh GNU Fortran:

-fmax-errors=n
Mengehadkan bilangan maksimum mesej ralat kepada n, pada ketika itu GNU Fortran menyelamatkan diri
dan bukannya cuba meneruskan pemprosesan kod sumber. Jika n ialah 0, tiada
hadkan bilangan mesej ralat yang dihasilkan.

-fsyntax sahaja
Semak kod untuk ralat sintaks, tetapi jangan benar-benar menyusunnya. Ini akan menjana
fail modul untuk setiap modul yang terdapat dalam kod, tetapi tiada fail output lain.

-pedantik
Keluarkan amaran untuk penggunaan sambungan kepada Fortran 95. -pedantik juga berlaku untuk
Konstruk bahasa C di mana ia berlaku dalam fail sumber GNU Fortran, seperti penggunaan \e
dalam pemalar aksara dalam arahan seperti "#include".

Program Fortran 95 yang sah harus disusun dengan betul dengan atau tanpa pilihan ini.
Walau bagaimanapun, tanpa pilihan ini, sambungan GNU tertentu dan ciri Fortran tradisional
disokong juga. Dengan pilihan ini, ramai daripada mereka ditolak.

Sesetengah pengguna cuba menggunakan -pedantik untuk menyemak program untuk pematuhan. Mereka tidak lama lagi menemui
bahawa ia tidak melakukan apa yang mereka mahu---ia mendapati beberapa amalan tidak standard, tetapi
tidak semua. Walau bagaimanapun, penambahbaikan kepada GNU Fortran dalam bidang ini dialu-alukan.

Ini harus digunakan bersama-sama dengan -std=f95, -std=f2003 or -std=f2008.

-kesilapan-pedantik
suka -pedantik, kecuali ralat dihasilkan dan bukannya amaran.

-Dinding
Mendayakan pilihan amaran yang biasa digunakan berkaitan dengan penggunaan yang kami syorkan untuk dielakkan
dan yang kami percaya mudah untuk dielakkan. Ini termasuk pada masa ini -Waliasing,
-Wampersand, -Wpenukaran, -Mengejutkan, -Wc-binding-jenis, -Witrinsics-std,
-Wno-tabs, -bayang-bayang wintrinsik, -Pemotongan garisan, -Wtarget-seumur hidup, -Wreal-q-malar
dan -Wunused.

-Waliasing
Beri amaran tentang kemungkinan mengaliaskan hujah palsu. Secara khusus, ia memberi amaran jika sama
hujah sebenar dikaitkan dengan hujah dummy dengan "INTENT(IN)" dan dummy
hujah dengan "INTENT(OUT)" dalam panggilan dengan antara muka yang jelas.

Contoh berikut akan mencetuskan amaran.

antara muka
bar subrutin(a,b)
integer, intent(in) :: a
integer, niat(keluar) :: b
tamatkan subrutin
antara muka akhir
integer :: a

bar panggilan(a,a)

-Wampersand
Beri amaran tentang kehilangan ampersand dalam pemalar aksara berterusan. Amaran diberikan
dengan -Wampersand, -pedantik, -std=f95, -std=f2003 dan -std=f2008. Nota: Dengan no
ampersand diberikan dalam pemalar aksara berterusan, GNU Fortran menganggap kesinambungan di
aksara pertama bukan ulasan, bukan ruang putih selepas ampersand yang memulakan
kesinambungan.

-Warray-sementara
Beri amaran tentang tatasusunan sementara yang dihasilkan oleh pengkompil. Maklumat yang dihasilkan oleh
amaran ini kadangkala berguna dalam pengoptimuman, untuk mengelakkan sementara seperti itu.

-Wc-binding-jenis
Beri amaran jika pembolehubah mungkin tidak C saling kendali. Khususnya, beri amaran jika
pembolehubah telah diisytiharkan menggunakan jenis intrinsik dengan jenis lalai dan bukannya menggunakan
parameter jenis yang ditakrifkan untuk kebolehoperasian C dalam "ISO_C_Binding" intrinsik
modul. Pilihan ini tersirat oleh -Dinding.

-Watak-pemangkasan
Beri amaran apabila tugasan aksara akan memotong rentetan yang diberikan.

-Pemotongan garisan
Beri amaran apabila baris kod sumber akan dipotong. Pilihan ini tersirat oleh -Dinding. Untuk
kod sumber bentuk bebas, lalainya ialah -Werror=pemotongan talian supaya pemotongan
dilaporkan sebagai ralat.

-Wpenukaran
Beri amaran tentang penukaran tersirat yang berkemungkinan mengubah nilai ungkapan
selepas penukaran. Tersirat oleh -Dinding.

-Wpenukaran-tambahan
Beri amaran tentang penukaran tersirat antara jenis dan jenis yang berbeza. Pilihan ini tidak
tidak menyiratkan -Wpenukaran.

-Wextra
Mendayakan beberapa pilihan amaran untuk penggunaan ciri bahasa yang mungkin bermasalah.
Ini termasuk pada masa ini -Wbandingkan-sebenar dan -Wunused-parameter.

-Antaramuka-wimplicit
Beri amaran jika prosedur dipanggil tanpa antara muka yang jelas. Perhatikan ini hanya semak
bahawa antara muka eksplisit hadir. Ia tidak menyemak bahawa antara muka yang diisytiharkan
adalah konsisten di seluruh unit program.

-Prosedur-wimplisit
Beri amaran jika prosedur dipanggil yang tidak mempunyai antara muka yang jelas dan tidak pernah
diisytiharkan sebagai "LUARAN".

-Witrinsics-std
Beri amaran jika gfortran mendapati prosedur bernama seperti intrinsik tidak tersedia dalam
standard yang dipilih pada masa ini (dengan -std) dan menganggapnya sebagai prosedur "LUARAN" kerana
dari ini. -jatuh-intrinsik boleh digunakan untuk tidak mencetuskan tingkah laku ini dan sentiasa memaut
kepada intrinsik tanpa mengira standard yang dipilih.

-Wreal-q-malar
Menghasilkan amaran jika pemalar-harfiah sebenar mengandungi huruf eksponen "q".

-Mengejutkan
Menghasilkan amaran apabila binaan kod "mencurigakan" ditemui. manakala
dari segi teknikal undang-undang ini biasanya menunjukkan bahawa ralat telah dibuat.

Ini pada masa ini menghasilkan amaran di bawah keadaan berikut:

* Pembinaan INTEGER SELECT mempunyai CASE yang tidak boleh dipadankan sebagai yang lebih rendah
nilainya lebih besar daripada nilai atasnya.

* Konstruk PILIHAN LOGIK mempunyai tiga pernyataan KES.

* TRANSFER menentukan sumber yang lebih pendek daripada destinasi.

* Jenis hasil fungsi diisytiharkan lebih daripada sekali dengan jenis yang sama. Jika
-pedantik atau mod pematuhan standard didayakan, ini adalah ralat.

* Pembolehubah "WATAK" diisytiharkan dengan panjang negatif.

-Wtabs
Secara lalai, tab diterima sebagai ruang putih, tetapi tab bukan ahli Fortran
Set Watak. Untuk baris sambungan, tab diikuti dengan digit antara 1 dan 9 ialah
disokong. -Wtabs akan menyebabkan amaran dikeluarkan jika tab ditemui. Catatan,
-Wtabs aktif untuk -pedantik, -std=f95, -std=f2003, -std=f2008, -std=f2008ts dan
-Dinding.

-Wunderflow
Menghasilkan amaran apabila ungkapan pemalar berangka ditemui, yang menghasilkan a
ALIRAN semasa penyusunan. Didayakan secara lalai.

-bayang-bayang wintrinsik
Beri amaran jika prosedur yang ditetapkan pengguna atau prosedur modul mempunyai nama yang sama dengan
intrinsik; dalam kes ini, antara muka eksplisit atau "LUARAN" atau "INTRINSIK"
pengisytiharan mungkin diperlukan untuk mendapatkan panggilan diselesaikan kemudian kepada yang dikehendaki
intrinsik/prosedur. Pilihan ini tersirat oleh -Dinding.

-Wuse-tanpa-sahaja
Beri amaran jika pernyataan "GUNAKAN" tidak mempunyai kelayakan "SAHAJA" dan dengan itu secara tersirat mengimport semua
entiti awam modul yang digunakan.

-Wunused-dummy-hujah
Beri amaran tentang hujah palsu yang tidak digunakan. Pilihan ini tersirat oleh -Dinding.

-Wunused-parameter
Bertentangan dengan gccmaksud dari -Wunused-parameter, gfortranpelaksanaan ini
pilihan tidak memberi amaran tentang hujah palsu yang tidak digunakan (lihat -Wunused-dummy-hujah), tetapi
tentang nilai "PARAMETER" yang tidak digunakan. -Wunused-parameter tersirat oleh -Wextra jika juga
-Wunused or -Dinding digunakan.

-Walign-commons
Secara lalai, gfortran memberi amaran tentang sebarang kejadian pembolehubah yang dipadatkan dengan betul
penjajaran di dalam blok "COMMON". Amaran ini boleh dimatikan melalui
-Wno-align-commons. Lihat juga -falign-commons.

-Wfungsi-penghapusan
Beri amaran jika sebarang panggilan ke fungsi dihapuskan oleh pengoptimuman yang didayakan oleh
-ffrontend-optimumkan pilihan.

-Wrealloc-lhs
Beri amaran apabila pengkompil mungkin memasukkan kod ke untuk peruntukan atau pengagihan semula a
pembolehubah tatasusunan boleh diperuntukkan jenis intrinsik dalam tugasan intrinsik. Dalam gelung panas,
ciri pengagihan semula Fortran 2003 mungkin mengurangkan prestasi. Jika tatasusunan adalah
sudah diperuntukkan dengan bentuk yang betul, pertimbangkan untuk menggunakan spesifikasi tatasusunan keseluruhan
(cth "(:,:,:)") untuk pembolehubah di sebelah kiri untuk mengelakkan pengagihan semula
semak. Ambil perhatian bahawa dalam beberapa kes amaran ditunjukkan, walaupun jika pengkompil akan
optimumkan semakan peruntukan semula. Sebagai contoh, apabila sebelah kanan mengandungi
pembolehubah yang sama didarab dengan skalar. Lihat juga -frealloc-lhs.

-Wrealloc-lhs-semua
Beri amaran apabila pengkompil memasukkan kod ke untuk peruntukan atau pengagihan semula an
pemboleh ubah boleh diperuntukkan; ini termasuk skalar dan jenis terbitan.

-Wbandingkan-sebenar
Beri amaran apabila membandingkan jenis sebenar atau kompleks untuk kesamaan atau ketidaksamaan. Pilihan ini adalah
tersirat oleh -Wextra.

-Wtarget-seumur hidup
Beri amaran jika penunjuk dalam tugasan penunjuk mungkin lebih panjang daripada sasarannya. ini
pilihan tersirat oleh -Dinding.

-Wzerotrip
Beri amaran jika gelung "DO" diketahui melaksanakan sifar kali pada masa penyusunan. Pilihan ini adalah
tersirat oleh -Dinding.

-Werror
Mengubah semua amaran menjadi ralat.

Sebahagian daripada ini tidak mempunyai kesan apabila menyusun atur cara yang ditulis dalam Fortran.

Pilihan untuk debugging anda program or GNU Fortran
GNU Fortran mempunyai pelbagai pilihan khas yang digunakan untuk penyahpepijatan sama ada program anda atau
pengkompil GNU Fortran.

-fdump-fortran-original
Keluarkan pepohon parse dalaman selepas menterjemah program sumber ke dalaman
perwakilan. Hanya benar-benar berguna untuk menyahpepijat pengkompil GNU Fortran itu sendiri.

-fdump-fortran-dioptimumkan
Keluarkan pokok parse selepas pengoptimuman bahagian hadapan. Hanya benar-benar berguna untuk penyahpepijatan
pengkompil GNU Fortran itu sendiri.

-fdump-parse-tree
Keluarkan pepohon parse dalaman selepas menterjemah program sumber ke dalaman
perwakilan. Hanya benar-benar berguna untuk menyahpepijat pengkompil GNU Fortran itu sendiri.
Pilihan ini ditamatkan; gunakan "-fdump-fortran-original" sebaliknya.

-ffpe-perangkap=senarai
Tentukan senarai perangkap pengecualian titik terapung untuk didayakan. Pada kebanyakan sistem, jika a
pengecualian titik terapung berlaku dan perangkap untuk pengecualian itu didayakan, SIGFPE
isyarat akan dihantar dan program dihentikan, menghasilkan fail teras yang berguna untuk
penyahpepijatan. senarai ialah senarai (mungkin kosong) yang dipisahkan koma daripada yang berikut
pengecualian: tidak sah (operasi titik terapung tidak sah, seperti "SQRT(-1.0)"), sifar
(bahagi dengan sifar), limpahan (limpahan dalam operasi titik terapung), aliran bawah
(aliran bawah dalam operasi titik terapung), tidak tepat (kehilangan ketepatan semasa
operasi), dan tidak normal (operasi dilakukan pada nilai denormal). Lima yang pertama
pengecualian sepadan dengan lima pengecualian IEEE 754, manakala yang terakhir (tidak normal)
bukan sebahagian daripada piawaian IEEE 754 tetapi tersedia pada beberapa seni bina biasa
seperti x86.

Tiga pengecualian pertama (tidak sah, sifar, dan limpahan) selalunya menunjukkan serius
ralat, dan melainkan program mempunyai peruntukan untuk menangani pengecualian ini,
membolehkan perangkap untuk tiga pengecualian ini mungkin idea yang baik.

Banyak, jika tidak kebanyakan, operasi titik terapung mengalami kehilangan ketepatan akibat pembundaran,
dan oleh itu "ffpe-trap=inexact" berkemungkinan tidak menarik dalam amalan.

Secara lalai tiada perangkap pengecualian didayakan.

-ffpe-ringkasan=senarai
Tentukan senarai pengecualian titik terapung, yang status benderanya dicetak
"ERROR_UNIT" apabila memanggil "STOP" dan "ERROR STOP". senarai boleh jadi sama ada tiada, semua atau
senarai dipisahkan koma bagi pengecualian berikut: tidak sah, sifar, limpahan, aliran bawah,
tidak tepat dan tidak normal. (Lihat -ffpe-perangkap untuk penerangan tentang pengecualian.)

Secara lalai, ringkasan untuk semua pengecualian tetapi tidak tepat ditunjukkan.

-fno-jejak belakang
Apabila ralat masa jalan yang serius ditemui atau isyarat maut dipancarkan
(kesalahan pembahagian, arahan tidak sah, ralat bas, pengecualian titik terapung, dan
isyarat POSIX lain yang mempunyai tindakan teras), perpustakaan masa jalan Fortran cuba
keluarkan jejak belakang ralat. "-fno-backtrace" melumpuhkan penjanaan backtrace.
Pilihan ini hanya mempunyai pengaruh untuk penyusunan program utama Fortran.

Pilihan untuk direktori carian
Pilihan ini mempengaruhi cara GNU Fortran mencari fail yang ditentukan oleh "INCLUDE"
arahan dan tempat ia mencari modul yang disusun sebelum ini.

Ia juga mempengaruhi laluan carian yang digunakan oleh cpp apabila digunakan untuk pramemproses sumber Fortran.

-Idir
Ini menjejaskan tafsiran arahan "INCLUDE" (serta "#include"
arahan daripada cpp prapemproses).

Juga ambil perhatian bahawa tingkah laku umum -I dan "INCLUDE" hampir sama dengan
-I dengan "#include" dalam cpp prapemproses, berkenaan dengan mencari header.gcc
fail dan sebagainya.

Laluan ini juga digunakan untuk mencari .mod fail apabila modul yang disusun sebelum ini adalah
diperlukan oleh pernyataan "USE".

-Jdir
Pilihan ini menentukan tempat untuk diletakkan .mod fail untuk modul yang disusun. Ia juga ditambah
ke senarai direktori untuk dicari dengan pernyataan "USE".

Lalai ialah direktori semasa.

-laluan-modul-fintrinsik dir
Pilihan ini menentukan lokasi modul intrinsik pra-disusun, jika tidak
dalam lokasi lalai yang dijangkakan oleh pengkompil.

Mempengaruhi yang menghubungkan langkah
Pilihan ini mula dimainkan apabila pengkompil memautkan fail objek ke dalam boleh laku
fail keluaran. Mereka tidak bermakna jika pengkompil tidak melakukan langkah pautan.

-statik-libgfortran
Pada sistem yang menyediakan libgfortran sebagai pustaka kongsi dan statik, pilihan ini
memaksa penggunaan versi statik. Jika tiada versi kongsi libgfortran telah dibina
apabila pengkompil telah dikonfigurasikan, pilihan ini tidak mempunyai kesan.

Mempengaruhi runtime tingkah laku
Pilihan ini mempengaruhi gelagat masa jalan program yang disusun dengan GNU Fortran.

-fconvert=Penukaran
Tentukan perwakilan data untuk fail yang tidak diformat. Nilai yang sah untuk penukaran
ialah: asli, lalai; swap, swap antara big- dan little-endian; endian besar, Gunakan
perwakilan big-endian untuk fail yang tidak diformat; little-endian, gunakan little-endian
perwakilan untuk fail yang tidak diformat.

ini pilihan mempunyai an kesan hanyalah apabila digunakan in yang utama program. . "TUKAR" penentu
dan yang GFORTRAN_CONVERT_UNIT persekitaran berubah-ubah langkau yang lalai dinyatakan by
-fconvert.

-frecord-marker=panjang
Tentukan panjang penanda rekod untuk fail yang tidak diformat. Nilai yang sah untuk panjang
ialah 4 dan 8. Lalai ialah 4. ini is berbeza dari sebelumnya versi of gfortran,
yang menetapkan panjang penanda rekod lalai 8 pada kebanyakan sistem. Jika anda mahu
membaca atau menulis fail yang serasi dengan versi terdahulu gfortran, Gunakan
-frecord-marker=8.

-fmax-subrecord-length=panjang
Tentukan panjang maksimum untuk subrekod. Nilai maksimum yang dibenarkan untuk panjang ialah
2147483639, yang juga merupakan lalai. Hanya benar-benar berguna untuk digunakan oleh gfortran
testsuite.

-fsign-sifar
Apabila didayakan, nombor titik terapung nilai sifar dengan set bit tanda ditulis
sebagai nombor negatif dalam output berformat dan dianggap sebagai negatif dalam "SIGN"
intrinsik. -fno-tanda-sifar tidak mencetak tanda negatif nilai sifar (atau nilai
dibundarkan kepada sifar untuk I/O) dan menganggap sifar sebagai nombor positif dalam intrinsik "SIGN".
untuk keserasian dengan Fortran 77. Lalainya ialah -fsign-sifar.

Pilihan untuk kod generasi konvensyen
Pilihan bebas mesin ini mengawal konvensyen antara muka yang digunakan dalam kod
Generasi.

Kebanyakan daripada mereka mempunyai kedua-dua bentuk positif dan negatif; bentuk negatif daripada -ffoo akan menjadi
-fno-foo. Dalam jadual di bawah, hanya satu daripada borang yang disenaraikan---yang bukan borang
lalai. Anda boleh mengetahui bentuk lain dengan sama ada mengalih keluar NO- atau menambahnya.

-fno-automatik
Anggap setiap unit program (kecuali yang ditandakan sebagai REKURSIF) seolah-olah pernyataan "SIMPAN".
telah ditentukan untuk setiap pembolehubah tempatan dan tatasusunan yang dirujuk di dalamnya. Tidak menjejaskan
blok biasa. (Sesetengah penyusun Fortran menyediakan pilihan ini di bawah nama -statik or
-jimat.) Lalai, iaitu -fautomatik, menggunakan timbunan untuk pembolehubah tempatan yang lebih kecil
daripada nilai yang diberikan oleh -fmax-stack-var-size. Gunakan pilihan -frekursif untuk menggunakan no
ingatan statik.

-ff2c
Hasilkan kod yang direka untuk serasi dengan kod yang dihasilkan oleh g77 dan f2c.

Konvensyen panggilan yang digunakan oleh g77 (asalnya dilaksanakan dalam f2c) memerlukan fungsi
jenis pulangan lalai "REAL" untuk benar-benar mengembalikan "double" jenis C dan fungsi
yang mengembalikan jenis "COMPLEX" untuk mengembalikan nilai melalui argumen tambahan dalam panggilan
turutan yang menunjukkan tempat untuk menyimpan nilai pulangan. Di bawah GNU lalai
memanggil konvensyen, fungsi sedemikian hanya mengembalikan hasil mereka seperti yang mereka lakukan dalam GNU
C --- fungsi "REAL" lalai mengembalikan "float" jenis C dan fungsi "COMPLEX" kembali
jenis GNU C "kompleks". Selain itu, pilihan ini membayangkan -fsecond-garis bawah
pilihan, melainkan -fno-second-underscore diminta secara eksplisit.

Ini tidak menjejaskan penjanaan kod yang antara muka dengan libgfortran
perpustakaan.

Amaran: Ia bukan idea yang baik untuk mencampurkan kod Fortran yang disusun dengan -ff2c dengan kod
disusun dengan lalai -fno-f2c memanggil konvensyen sebagai, memanggil "COMPLEX" atau
fungsi "REAL" lalai antara bahagian program yang telah disusun dengan berbeza
konvensyen panggilan akan pecah pada masa pelaksanaan.

Amaran: Ini akan memecahkan kod yang melepasi fungsi intrinsik jenis lalai "REAL"
atau "COMPLEX" sebagai hujah sebenar, kerana pelaksanaan perpustakaan menggunakan -fno-f2c
memanggil konvensyen.

-fno-garis bawah
Jangan ubah nama entiti yang dinyatakan dalam fail sumber Fortran dengan melampirkan
menggariskan kepada mereka.

Dengan -pengumpulan dana sebenarnya, GNU Fortran menambahkan satu garis bawah pada nama luar
tanpa garis bawah. Ini dilakukan untuk memastikan keserasian dengan kod yang dihasilkan oleh ramai
Penyusun UNIX Fortran.

Awas: Tingkah laku lalai GNU Fortran tidak serasi dengan f2c dan g77, Sila
menggunakan -ff2c pilihan jika anda mahu fail objek disusun dengan GNU Fortran menjadi
serasi dengan kod objek yang dibuat dengan alatan ini.

Penggunaan -fno-garis bawah tidak disyorkan melainkan anda sedang bereksperimen dengan isu
seperti integrasi GNU Fortran ke dalam persekitaran sistem sedia ada (vis-a-vis
perpustakaan sedia ada, alatan, dan sebagainya).

Sebagai contoh, dengan -pengumpulan dana, dan dengan mengandaikan bahawa "j()" dan "max_count()" adalah
fungsi luaran manakala "my_var" dan "lvar" ialah pembolehubah tempatan, pernyataan seperti

I = J() + MAX_COUNT (MY_VAR, LVAR)

dilaksanakan sebagai sesuatu yang serupa dengan:

i = j_() + max_count__(&my_var__, &lvar);

Dengan -fno-garis bawah, pernyataan yang sama dilaksanakan seperti:

i = j() + max_count(&my_var, &lvar);

Penggunaan -fno-garis bawah membenarkan spesifikasi langsung nama yang ditentukan pengguna manakala
penyahpepijatan dan apabila antara muka kod GNU Fortran dengan bahasa lain.

Ambil perhatian bahawa hanya kerana nama sepadan tidak bermakna antara muka yang dilaksanakan oleh
GNU Fortran untuk nama luaran sepadan dengan antara muka yang dilaksanakan oleh beberapa orang lain
bahasa untuk nama yang sama. Iaitu, mendapatkan kod yang dihasilkan oleh GNU Fortran untuk dipautkan
kod yang dihasilkan oleh beberapa pengkompil lain menggunakan kaedah ini atau mana-mana kaedah lain hanya boleh a
sebahagian kecil daripada penyelesaian keseluruhan---mendapatkan kod yang dihasilkan oleh kedua-dua penyusun untuk
bersetuju mengenai isu selain daripada penamaan boleh memerlukan usaha yang ketara, dan, tidak seperti penamaan
perselisihan pendapat, penyambung biasanya tidak dapat mengesan perselisihan dalam bidang lain ini.

Juga, ambil perhatian bahawa dengan -fno-garis bawah, kekurangan garis bawah yang dilampirkan memperkenalkan
kemungkinan yang sangat nyata bahawa nama luaran yang ditentukan pengguna akan bercanggah dengan nama
dalam pustaka sistem, yang boleh menjadikan pencarian pepijat rujukan yang tidak dapat diselesaikan agak sukar
sukar dalam beberapa kes---ia mungkin berlaku pada masa jalankan program, dan hanya muncul sebagai
tingkah laku buggy pada masa larian.

Dalam versi GNU Fortran yang akan datang, kami berharap dapat menambah baik isu penamaan dan pemautan supaya
penyahpepijatan sentiasa melibatkan penggunaan nama seperti yang dipaparkan dalam sumber, walaupun jika
nama seperti yang dilihat oleh penghubung dipecahkan untuk mengelakkan penghubung yang tidak disengajakan antara
prosedur dengan antara muka yang tidak serasi.

-fsecond-garis bawah
Secara lalai, GNU Fortran menambahkan garis bawah pada nama luar. Jika pilihan ini adalah
GNU Fortran yang digunakan menambahkan dua garis bawah pada nama dengan garis bawah dan satu garis bawah
kepada nama luar tanpa garis bawah. GNU Fortran juga menambahkan dua garis bawah pada
nama dalaman dengan garis bawah untuk mengelak menamakan perlanggaran dengan nama luaran.

Pilihan ini tidak mempunyai kesan jika -fno-garis bawah sedang berkuat kuasa. Ia tersirat oleh
-ff2c pilihan.

Jika tidak, dengan pilihan ini, nama luaran seperti "MAX_COUNT" dilaksanakan sebagai a
merujuk kepada simbol luaran masa pautan "max_count__", bukannya "max_count_".
Ini diperlukan untuk keserasian dengan g77 dan f2c, dan tersirat dengan penggunaan
-ff2c pilihan.

-fcoarray=
tiada
Lumpuhkan sokongan coarray; menggunakan pengisytiharan kasar dan pernyataan kawalan imej
akan menghasilkan ralat masa kompilasi. (Lalai)

tunggal
Mod imej tunggal, iaitu "num_images()" sentiasa satu.

lib Keselarian kasar berasaskan perpustakaan; perpustakaan coarray GNU Fortran yang sesuai
perlu dikaitkan.

-fcheck=
Dayakan penjanaan semakan masa jalan; hujah hendaklah senarai dipisahkan koma
daripada kata kunci berikut.

semua Dayakan semua ujian masa jalan bagi -fcheck.

array-temps
Memberi amaran pada masa larian apabila untuk menghantar argumen sebenar tatasusunan sementara perlu
dihasilkan. Maklumat yang dijana oleh amaran ini kadangkala berguna dalam
pengoptimuman, untuk mengelakkan sementara tersebut.

Nota: Amaran hanya dicetak sekali bagi setiap lokasi.

Sempadan
Dayakan penjanaan semakan masa jalan untuk subskrip tatasusunan dan terhadap yang diisytiharkan
nilai minimum dan maksimum. Ia juga menyemak indeks tatasusunan untuk diandaikan dan ditangguhkan
tatasusunan bentuk terhadap sempadan yang diperuntukkan sebenar dan memastikan bahawa semua rentetan
panjang adalah sama untuk pembina tatasusunan aksara tanpa jenis spesifikasi yang jelas.

Sesetengah pemeriksaan memerlukannya -fcheck=bounds ditetapkan untuk penyusunan utama
program.

Nota: Pada masa hadapan ini juga mungkin termasuk bentuk semakan lain, cth, semakan
rujukan subrentetan.

do Dayakan penjanaan semakan masa jalan untuk pengubahsuaian lelaran gelung yang tidak sah
pembolehubah.

mem Dayakan penjanaan semakan masa jalan untuk peruntukan memori. Nota: Pilihan ini
tidak menjejaskan peruntukan eksplisit menggunakan pernyataan "ALLOCATE", yang akan menjadi
sentiasa diperiksa.

penunjuk
Dayakan penjanaan semakan masa jalan untuk penunjuk dan boleh diperuntukkan.

pengulangan
Dayakan penjanaan semakan masa jalan untuk subrutin yang dipanggil secara rekursif dan
fungsi yang tidak ditandakan sebagai rekursif. Lihat juga -frekursif. Nota: Ini
check tidak berfungsi untuk program OpenMP dan dilumpuhkan jika digunakan bersama dengan
-frekursif dan -fopenmp.

-fbounds-semak
Alias ​​ditamatkan untuk -fcheck=bounds.

-fcheck-array-temporaries
Alias ​​ditamatkan untuk -fcheck=array-temps.

-fmax-array-constructor=n
Pilihan ini boleh digunakan untuk meningkatkan had atas yang dibenarkan dalam pembina tatasusunan.
Kod di bawah memerlukan pilihan ini untuk mengembangkan tatasusunan pada masa penyusunan.

ujian program
tersirat tiada
integer j
integer, parameter :: n = 100000
integer, parameter :: i(n) = (/ (2*j, j = 1, n) /)
cetak '(10(I0,1X))', i
ujian program tamat

Amaran: ini pilihan boleh membawa kepada lama menyusun kali dan secara berlebihan besar objek
fail.

Nilai lalai untuk n adalah 65535.

-fmax-stack-var-size=n
Pilihan ini menentukan saiz dalam bait tatasusunan terbesar yang akan diletakkan pada
timbunan; jika saiz melebihi memori statik digunakan (kecuali dalam prosedur yang ditandakan sebagai
REKURSIF). Gunakan pilihan -frekursif untuk membenarkan prosedur rekursif yang tidak
mempunyai atribut RECURSIVE atau untuk program selari. guna -fno-automatik untuk tidak pernah digunakan
timbunan.

Pilihan ini pada masa ini hanya memberi kesan kepada tatasusunan setempat yang diisytiharkan dengan sempadan tetap, dan mungkin
tidak digunakan untuk semua pembolehubah aksara. Versi masa depan GNU Fortran boleh menambah baik ini
tingkah laku.

Nilai lalai untuk n adalah 32768.

-fstack-arrays
Menambah pilihan ini akan menjadikan pengkompil Fortran meletakkan semua tatasusunan tempatan, malah tatasusunan
saiz tidak diketahui ke dalam memori tindanan. Jika program anda menggunakan tatasusunan tempatan yang sangat besar ia adalah
berkemungkinan anda perlu melanjutkan had masa jalan anda untuk tindanan memori pada beberapa
sistem operasi. Bendera ini didayakan secara lalai pada tahap pengoptimuman -Ofast.

-fpack-derived
Pilihan ini memberitahu GNU Fortran untuk mengemas ahli jenis terbitan sedekat mungkin.
Kod yang disusun dengan pilihan ini berkemungkinan tidak serasi dengan kod yang disusun tanpanya
pilihan ini, dan mungkin dilaksanakan dengan lebih perlahan.

-susun-susun frepack
Dalam sesetengah keadaan GNU Fortran boleh melepasi bahagian tatasusunan bentuk yang diandaikan melalui a
deskriptor yang menerangkan kawasan ingatan yang tidak bersempadan. Pilihan ini menambah kod pada
prolog fungsi untuk membungkus semula data ke dalam blok bersebelahan semasa masa jalan.

Ini sepatutnya menghasilkan akses yang lebih pantas kepada tatasusunan. Walau bagaimanapun ia boleh memperkenalkan
overhed yang ketara kepada panggilan fungsi, terutamanya apabila data yang dihantar adalah
tidak bersebelahan.

-fshort-enums
Pilihan ini disediakan untuk kesalingoperasian dengan kod C yang telah disusun dengan
-fshort-enums pilihan. Ia akan menjadikan GNU Fortran memilih jenis "INTEGER" terkecil a
set enumerator yang diberikan akan sesuai, dan memberikan semua enumeratornya jenis ini.

-fexternal-blas
Pilihan ini akan membuat gfortran menjana panggilan ke fungsi BLAS untuk beberapa matriks
operasi seperti "MATMUL", bukannya menggunakan algoritma kami sendiri, jika saiznya
matriks yang terlibat adalah lebih besar daripada had yang diberikan (lihat -fblas-matmul-had). Ini mungkin
menguntungkan jika perpustakaan BLAS vendor yang dioptimumkan tersedia. Perpustakaan BLAS akan
perlu dinyatakan pada masa pautan.

-fblas-matmul-limit=n
Hanya penting apabila -fexternal-blas sedang berkuat kuasa. Pendaraban matriks bagi matriks
dengan saiz lebih besar daripada (atau sama dengan) n akan dilakukan melalui panggilan ke fungsi BLAS,
manakala yang lain akan dikendalikan oleh gfortran algoritma dalaman. Jika matriks yang terlibat
bukan segi empat sama, perbandingan saiz dilakukan menggunakan min geometri bagi
dimensi hujah dan matriks hasil.

Nilai lalai untuk n adalah 30.

-frekursif
Benarkan pengulangan tidak langsung dengan memaksa semua tatasusunan setempat diperuntukkan pada tindanan.
Bendera ini tidak boleh digunakan bersama-sama dengan -fmax-stack-var-size= or -fno-automatik.

-finit-lokal-sifar
-finit-integer=n
-finit-real=
-finit-logik=
-finit-character=n
. -finit-lokal-sifar pilihan mengarahkan pengkompil untuk memulakan "INTEGER" setempat,
Pembolehubah "REAL", dan "COMPLEX" kepada sifar, pembolehubah "LOGICAL" kepada palsu dan "CHARACTER"
pembolehubah kepada rentetan bait nol. Pilihan permulaan yang lebih halus ialah
disediakan oleh -finit-integer=n, -finit-real= (yang juga
memulakan bahagian sebenar dan khayalan pembolehubah "KOMPLEKS" tempatan),
-finit-logik=, dan -finit-character=n (di mana n ialah watak ASCII
nilai) pilihan. Pilihan ini tidak dimulakan

* tatasusunan boleh diperuntukkan

* komponen pembolehubah jenis terbitan

* pembolehubah yang muncul dalam pernyataan "KESETARAAN".

(Had ini mungkin dialih keluar dalam keluaran akan datang).

Ambil perhatian bahawa -finit-real=nan pilihan memulakan pembolehubah "REAL" dan "COMPLEX" dengan a
senyap NaN. Untuk penggunaan NaN isyarat -finit-real=snan; ambil perhatian, bagaimanapun, masa penyusunan itu
pengoptimuman boleh menukarnya menjadi NaN senyap dan perangkap itu perlu didayakan
(cth melalui -ffpe-perangkap).

Akhir sekali, ambil perhatian bahawa mendayakan mana-mana -finit-* pilihan akan menyenyapkan amaran itu
akan dipancarkan oleh -Wuninitialized untuk pembolehubah tempatan yang terjejas.

-falign-commons
Secara lalai, gfortran menguatkuasakan penjajaran yang betul bagi semua pembolehubah dalam blok "COMMON" oleh
mengalasnya mengikut keperluan. Pada platform tertentu ini adalah wajib, pada platform lain ia meningkat
prestasi. Jika blok "COMMON" tidak diisytiharkan dengan jenis data yang konsisten
di mana-mana, padding ini boleh menyebabkan masalah, dan -fno-align-commons boleh digunakan untuk
lumpuhkan penjajaran automatik. Bentuk pilihan yang sama harus digunakan untuk semua fail
yang berkongsi blok "BIASA". Untuk mengelakkan masalah penjajaran yang berpotensi dalam blok "COMMON",
adalah disyorkan untuk memesan objek daripada terbesar kepada terkecil.

-fno-protect-parents
Secara lalai, kurungan dalam ungkapan dihormati untuk semua peringkat pengoptimuman sedemikian
bahawa pengkompil tidak melakukan sebarang perkaitan semula. menggunakan -fno-protect-parents membolehkan
pengkompil untuk menyusun semula ungkapan "REAL" dan "COMPLEX" untuk menghasilkan kod yang lebih pantas. Perhatikan bahawa
untuk pengoptimuman perkaitan semula -fno-signed-sifar dan -fno-perangkap-matematik perlu
berkuat kuasa. Perlindungan kurungan didayakan secara lalai, melainkan -Ofast is
diberi.

-frealloc-lhs
Bahagian kiri tugasan intrinsik yang boleh diperuntukkan adalah secara automatik
(semula) diperuntukkan jika ia sama ada tidak diperuntukkan atau mempunyai bentuk yang berbeza. Pilihannya ialah
didayakan secara lalai kecuali apabila -std=f95 diberikan. Lihat juga -Wrealloc-lhs.

-faggressive-fungsi-penghapusan
Fungsi dengan senarai hujah yang sama dihapuskan dalam pernyataan, tanpa mengira
sama ada fungsi ini ditandakan "MURNI" atau tidak. Contohnya, dalam

a = f(b,c) + f(b,c)

hanya akan ada satu panggilan ke "f". Pilihan ini hanya berfungsi jika
-ffrontend-optimumkan berkuat kuasa.

-ffrontend-optimumkan
Pilihan ini melakukan pengoptimuman bahagian hadapan, berdasarkan memanipulasi bahagian Fortran
pokok huraian. Didayakan secara lalai oleh mana-mana -O pilihan. Pengoptimuman didayakan oleh ini
pilihan termasuk penghapusan panggilan fungsi yang sama dalam ungkapan, mengalih keluar
panggilan yang tidak perlu kepada "TRIM" dalam perbandingan dan tugasan dan menggantikan TRIM(a) dengan
"a(1:LEN_TRIM(a))". Ia boleh dinyahpilih dengan menyatakan -fno-frontend-optimumkan.

ALAM


. gfortran pengkompil pada masa ini tidak menggunakan sebarang pembolehubah persekitaran untuk dikawal
operasinya di atas dan di luar yang menjejaskan operasi gcc.

Gunakan mips64-linux-gnuabi64-gfortran dalam talian menggunakan perkhidmatan onworks.net


Ad


Ad

Program dalam talian Linux & Windows terkini