EnglishFrenchGermanItalianPortugueseRussianSpanish

favorit OnWorks

mips-linux-gnu-gfortran - Online di Cloud

Jalankan mips-linux-gnu-gfortran di penyedia hosting gratis OnWorks melalui Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS

Ini adalah perintah mips-linux-gnu-gfortran yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, Windows online emulator atau MAC OS online emulator

PROGRAM:

NAMA


gfortran - kompiler GNU Fortran

RINGKASAN


gfortran [-c|-S|-E]
[-g] [-pg] [-Otingkat]
[-Wmemperingatkan...] [-bengah]
[-Idir...] [-Ldir...]
[-Dmakro[=defn]...] [-Umakro]
[-fpilihan...]
[-mopsi mesin...]
[-o file keluar] masuk...

Hanya opsi yang paling berguna yang tercantum di sini; lihat di bawah untuk sisanya.

DESKRIPSI


The gfortran perintah mendukung semua opsi yang didukung oleh gcc memerintah. Hanya pilihan
khusus untuk GNU Fortran didokumentasikan di sini.

Semua opsi GCC dan GNU Fortran diterima oleh gfortran dan oleh gcc (dan juga apa saja
driver lain dibangun pada saat yang sama, seperti g ++), sejak menambahkan GNU Fortran ke GCC
distribusi memungkinkan penerimaan opsi GNU Fortran oleh semua driver yang relevan.

Dalam beberapa kasus, opsi memiliki bentuk positif dan negatif; bentuk negatif dari -ffo akan
be -fno-foo. Manual ini hanya mendokumentasikan salah satu dari dua formulir ini, yang mana saja yang bukan
standar.

PILIHAN


Berikut adalah ringkasan dari semua opsi khusus untuk GNU Fortran, dikelompokkan berdasarkan jenisnya.
Penjelasan ada di bagian berikut.

Fortran Bahasa Opsi
-jatuh-intrinsik -fbackslash -fcray-pointer -fd-baris-sebagai-kode -fd-baris-sebagai-komentar
-fdefault-ganda-8 -fdefault-integer-8 -fdefault-nyata-8 -fdollar-ok
-panjang-garis-tetap-n -fixed-line-length-none -bentuk bebas -panjang-garis-bebas-n
-gratis-garis-panjang-tidak ada -fimplicit-tidak ada -finteger-4-integer-8 -fmax-identifier-length
-fmodule-private -bentuk-tetap -fno-range-cek -fopenac -fopenmp -freal-4-nyata-10
-freal-4-nyata-16 -freal-4-nyata-8 -freal-8-nyata-10 -freal-8-nyata-16 -freal-8-nyata-4
-std=std

Pemrosesan awal Opsi
-SEBUAH-pertanyaan[=menjawab] -Apertanyaan=menjawab -C -CC -Dmakro[=defn] -H -P -Umakro -cpp -DD
-dI -dM -dN -dU -fworking-direktori -imultilib dir -iprefix fillet -Saya mengutip -isysroot dir
-isistem dir -nocpp -nostdinc -def

error serta peringatan Opsi
-Waliasing -Dinding -Wampersand -Batas perang -Wc-binding-type -Pemotongan karakter
-Wkonversi -Wfungsi-eliminasi -Antarmuka-Wimplisit -Prosedur implisit
-Bayangan-Wintrinsik -Wuse-tanpa-saja -Wintrinsics-std -Wline-pemotongan
-Wno-align-commons -Wno-tab -Wreal-q-konstan -Mengejutkan - Aliran bawah air
-Wunused-parameter -Wrealloc-lhs -Wrealloc-lhs-all -Wtarget-seumur hidup -fmax-errors=n
-fsintaks-saja -bengah -pedantic-errors

Debugging Opsi
-fbacktrace -fdump-fortran-dioptimalkan -fdump-fortran-asli -fdump-parse-pohon
-ffpe-trap=daftar -ffpe-ringkasan=daftar

Direktori Opsi
-Idir -Jdir -fintrinsik-modul-jalur dir

Link Opsi
-static-libgfortran

Runtime Opsi
-fkonversi=Konversi -fmax-subrecord-length=panjangnya -penanda rekaman=panjangnya -fsign-nol

Kode Generasi Opsi
-penghapusan-fungsi-faggresif -fblas-matmul-limit=n -fbounds-cek
-fcheck-array-sementara -fcek=
-fcoarray= -fexternal-blas -ff2c -optimalkan ffrontend
-finit-karakter=n -hingga-integer=n -finit-lokal-nol -finit-logis=
-finit-nyata= -fmax-array-constructor=n -fmax-stack-var-size=n
-fno-align-commons -fno-otomatis -fno-protect-parens -fno-menggarisbawahi
-fsecond-garis bawah -berasal dari fpack -frealloc-lhs -frekursif -frepack-array
-fshort-enums -fstack-array

Opsi mengendalikan Fortran dialek
Opsi berikut mengontrol detail dialek Fortran yang diterima oleh kompilator:

-bentuk bebas
-bentuk-tetap
Tentukan tata letak yang digunakan oleh file sumber. Tata letak formulir bebas diperkenalkan di
Fortran 90. Bentuk tetap secara tradisional digunakan dalam program Fortran yang lebih lama. Kapan
tidak ada opsi yang ditentukan, formulir sumber ditentukan oleh ekstensi file.

-jatuh-intrinsik
Opsi ini menyebabkan semua prosedur intrinsik (termasuk ekstensi khusus GNU) untuk
diterima. Ini bisa berguna dengan -std=f95 untuk memaksakan kepatuhan standar tetapi dapatkan
akses ke berbagai intrinsik yang tersedia dengan gfortran. Sebagai konsekuensi,
-Wintrinsics-std akan diabaikan dan tidak ada prosedur yang ditentukan pengguna dengan nama yang sama dengan
intrinsik apa pun akan dipanggil kecuali jika secara eksplisit dinyatakan "EKSTERNAL".

-fd-baris-sebagai-kode
-fd-baris-sebagai-komentar
Aktifkan perlakuan khusus untuk baris yang dimulai dengan "d" atau "D" dalam sumber bentuk tetap.
Jika -fd-baris-sebagai-kode opsi diberikan mereka diperlakukan seolah-olah kolom pertama
berisi blanko. jika -fd-baris-sebagai-komentar pilihan diberikan, mereka diperlakukan sebagai
baris komentar.

-fdollar-ok
mengizinkan $ sebagai karakter non-pertama yang valid dalam nama simbol. Simbol yang dimulai dengan $ adalah
ditolak karena tidak jelas aturan mana yang diterapkan pada pengetikan implisit sebagai berbeda
vendor menerapkan aturan yang berbeda. Menggunakan $ dalam pernyataan "IMPLICIT" juga ditolak.

-fbackslash
Ubah interpretasi garis miring terbalik dalam literal string dari garis miring terbalik tunggal
karakter ke karakter pelarian "C-style". Kombinasi berikut diperluas:
"\a", "\b", "\f", "\n", "\r", "\t", "\v", "\\", dan "\0" ke karakter ASCII
waspada, spasi mundur, umpan formulir, baris baru, carriage return, tab horizontal, tab vertikal,
garis miring terbalik, dan NUL, masing-masing. Selain itu, "\x"nn, "\u"nnnn dan kamu"nnnnnnnn
(di mana masing-masing n adalah digit heksadesimal) diterjemahkan ke dalam karakter Unicode
sesuai dengan poin kode yang ditentukan. Semua kombinasi karakter lainnya
didahului oleh \ tidak diperluas.

-fmodule-private
Setel aksesibilitas default entitas modul ke "PRIVATE". Terkait penggunaan
entitas tidak akan dapat diakses kecuali secara eksplisit dinyatakan sebagai "PUBLIK".

-panjang-garis-tetap-n
Setel kolom setelah karakter diabaikan dalam garis bentuk tetap yang khas di
file sumber, dan melalui mana spasi diasumsikan (seolah-olah diisi dengan panjang itu) setelahnya
ujung-ujung garis bentuk tetap pendek.

Nilai populer untuk n termasuk 72 (standar dan default), 80 (gambar kartu), dan
132 (sesuai dengan opsi "extended-source" di beberapa kompiler populer). n mungkin
juga menjadi tak satupun, artinya seluruh baris bermakna dan karakter lanjutan itu
konstanta tidak pernah memiliki spasi implisit yang ditambahkan untuk mengisi baris.
-fixed-line-length-0 artinya sama dengan -fixed-line-length-none.

-panjang-garis-bebas-n
Setel kolom setelah karakter diabaikan dalam garis bentuk bebas khas di sumber
mengajukan. Nilai defaultnya adalah 132. n mungkin tak satupun, artinya seluruh baris adalah
berarti. -panjang-garis-bebas-0 artinya sama dengan -gratis-garis-panjang-tidak ada.

-fmax-identifier-length=n
Tentukan panjang pengenal maksimum yang diizinkan. Nilai tipikal adalah 31 (Fortran 95) dan
63 (Fortran 2003 dan Fortran 2008).

-fimplicit-tidak ada
Tetapkan bahwa tidak ada pengetikan implisit yang diizinkan, kecuali diganti dengan "IMPLICIT" eksplisit
pernyataan. Ini sama dengan menambahkan "tidak ada implisit" di awal setiap
prosedur.

-fcray-pointer
Aktifkan ekstensi pointer Cray, yang menyediakan fungsionalitas pointer seperti C.

-fopenac
Aktifkan ekstensi OpenACC. Ini termasuk arahan OpenACC "!$acc" dalam bentuk bebas
dan direktif "c$acc", *$acc dan "!$acc" dalam bentuk tetap, kompilasi bersyarat "!$"
penjaga dalam bentuk bebas dan penjaga "c$", "*$" dan "!$" dalam bentuk tetap, dan kapan
penautan mengatur perpustakaan runtime OpenACC untuk ditautkan.

Perhatikan bahwa ini adalah fitur eksperimental, tidak lengkap, dan dapat berubah di masa mendatang
versi GCC. Lihathttps://gcc.gnu.org/wiki/OpenACC> untuk informasi lebih lanjut.

-fopenmp
Aktifkan ekstensi OpenMP. Ini termasuk direktif OpenMP "!$omp" dalam bentuk bebas
dan direktif "c$omp", *$omp dan "!$omp" dalam bentuk tetap, kompilasi bersyarat "!$"
penjaga dalam bentuk bebas dan penjaga "c$", "*$" dan "!$" dalam bentuk tetap, dan kapan
penautan mengatur agar perpustakaan runtime OpenMP ditautkan. Opsinya -fopenmp
menyiratkan -frekursif.

-fno-range-cek
Nonaktifkan pemeriksaan rentang pada hasil penyederhanaan ekspresi konstan selama
kompilasi. Misalnya, GNU Fortran akan memberikan kesalahan pada waktu kompilasi ketika
menyederhanakan "a = 1. / 0". Dengan opsi ini, tidak ada kesalahan yang akan diberikan dan "a" akan menjadi
diberi nilai "+Infinity". Jika ekspresi mengevaluasi ke nilai di luar
rentang ["-HUGE()":"HUGE()"] yang relevan, maka ekspresi akan diganti dengan "-Inf"
atau "+Inf" yang sesuai. Demikian pula, "DATA i/Z'FFFFFFFF'/" akan menghasilkan bilangan bulat
melimpah pada sebagian besar sistem, tetapi dengan -fno-range-cek nilainya akan "membungkus" dan
"i" akan diinisialisasi ke -1 sebagai gantinya.

-fdefault-integer-8
Atur tipe integer dan logika default ke tipe lebar 8 byte. Opsi ini juga
mempengaruhi jenis konstanta bilangan bulat seperti 42. Tidak seperti -finteger-4-integer-8, itu benar
tidak mempromosikan variabel dengan deklarasi jenis eksplisit.

-fdefault-nyata-8
Atur tipe asli default ke tipe lebar 8 byte. Pilihan ini juga mempengaruhi jenis
konstanta nyata non-ganda seperti 1.0, dan mempromosikan lebar default "GANDA
PRECISION" hingga 16 byte jika memungkinkan, kecuali jika "-fdefault-double-8" juga diberikan. Tidak seperti
-freal-4-nyata-8, itu tidak mempromosikan variabel dengan deklarasi jenis eksplisit.

-fdefault-ganda-8
Atur tipe "DOUBLE PRECISION" ke tipe lebar 8 byte. Jangan lakukan apa-apa jika ini sudah
default. Jika -fdefault-nyata-8 diberikan, "PRESISI GANDA" akan menjadi
dipromosikan menjadi 16 byte jika memungkinkan, dan -fdefault-ganda-8 dapat digunakan untuk mencegah hal ini.
Jenis konstanta nyata seperti "1.d0" tidak akan diubah oleh -fdefault-nyata-8 meskipun,
jadi juga -fdefault-ganda-8 tidak mempengaruhinya.

-finteger-4-integer-8
Promosikan semua entitas "INTEGER(KIND=4)" ke entitas "INTEGER(KIND=8)". Jika "JENIS = 8"
tidak tersedia, maka kesalahan akan dikeluarkan. Opsi ini harus digunakan dengan hati-hati
dan mungkin tidak cocok untuk kode Anda. Area yang mungkin menjadi perhatian termasuk panggilan ke
prosedur eksternal, penyelarasan dalam "EQUIVALENCE" dan/atau "COMMON", antarmuka generik,
konversi konstan BOZ literal, dan I/O. Inspeksi perantara
representasi dari kode Fortran yang diterjemahkan, diproduksi oleh -fdump-pohon-asli, Apakah
disarankan.

-freal-4-nyata-8
-freal-4-nyata-10
-freal-4-nyata-16
-freal-8-nyata-4
-freal-8-nyata-10
-freal-8-nyata-16
Promosikan semua entitas "NYATA(KIND=M)" ke entitas "NYATA(KIND=N)". Jika "NYATA(JENIS=N)" adalah
tidak tersedia, maka kesalahan akan dikeluarkan. Semua tipe real kind lainnya tidak terpengaruh
oleh opsi ini. Opsi ini harus digunakan dengan hati-hati dan mungkin tidak cocok untuk
kode Anda. Area yang mungkin menjadi perhatian termasuk panggilan ke prosedur eksternal, penyelarasan
dalam "EQUIVALENCE" dan/atau "COMMON", antarmuka generik, konversi konstan BOZ literal,
dan I/O. Inspeksi representasi perantara dari Fortran . yang diterjemahkan
kode, diproduksi oleh -fdump-pohon-asli, disarankan.

-std=std
Tentukan standar yang diharapkan sesuai dengan program, yang mungkin merupakan salah satu dari:
f95, f2003, f2008, gnu, atau warisan. Nilai default untuk std is gnu, yang menentukan
superset dari standar Fortran 95 yang mencakup semua ekstensi yang didukung oleh
GNU Fortran, meskipun peringatan akan diberikan untuk ekstensi usang tidak disarankan
untuk digunakan dalam kode baru. NS warisan nilainya setara tetapi tanpa peringatan untuk
ekstensi usang, dan mungkin berguna untuk program non-standar lama. NS f95, f2003
serta f2008 nilai menentukan kesesuaian yang ketat dengan Fortran 95, Fortran 2003 dan
standar Fortran 2008, masing-masing; kesalahan diberikan untuk semua ekstensi di luar
standar bahasa yang relevan, dan peringatan diberikan untuk fitur Fortran 77 yang
diizinkan tetapi usang dalam standar selanjutnya. -std=f2008ts memungkinkan Fortran 2008
standar termasuk penambahan Spesifikasi Teknis (TS) 29113 pada Selanjutnya
Interoperabilitas Fortran dengan C dan TS 18508 pada Fitur Paralel Tambahan di
Fortran.

memungkinkan serta menyesuaikan pra-pemrosesan
Opsi terkait praprosesor. Lihat bagian Pemrosesan awal serta bersyarat kompilasi untuk
informasi lebih rinci tentang pra-pemrosesan di gfortran.

-cpp
-nocpp
Aktifkan prapemrosesan. Preprocessor secara otomatis dipanggil jika ekstensi file
is .fpp, .FPP, .F, .UNTUK, .FTN, .F90, .F95, .F03 or .F08. Gunakan opsi ini untuk secara manual
aktifkan prapemrosesan segala jenis file Fortran.

Untuk menonaktifkan pra-pemrosesan file dengan salah satu ekstensi yang tercantum di atas, gunakan:
bentuk negatif: -nocpp.

Praprosesor dijalankan dalam mode tradisional. Setiap batasan format file,
terutama batas panjang garis, berlaku juga untuk keluaran yang telah diproses sebelumnya, jadi itu
mungkin disarankan untuk menggunakan -gratis-garis-panjang-tidak ada or -fixed-line-length-none
Pilihan.

-dM Alih-alih output normal, buat daftar arahan '#define' untuk semua
makro yang ditentukan selama eksekusi praprosesor, termasuk makro yang telah ditentukan sebelumnya.
Ini memberi Anda cara untuk mengetahui apa yang telah ditentukan sebelumnya dalam versi
praprosesor. Dengan asumsi Anda tidak memiliki file foo.f90, perintah

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

akan menampilkan semua makro yang telah ditentukan sebelumnya.

-DD Seperti -dM kecuali dalam dua hal: itu tidak termasuk makro yang telah ditentukan, dan itu
menampilkan arahan "#define" dan hasil dari preprocessing. Kedua jenis
output pergi ke file output standar.

-dN Seperti -DD, tetapi hanya memancarkan nama makro, bukan perluasannya.

-dU Seperti dD kecuali bahwa hanya makro yang diperluas, atau yang ketegasannya diuji dalam
arahan preprocessor, adalah output; output ditunda hingga penggunaan atau pengujian
makro; dan arahan '#undef' juga merupakan output untuk makro yang diuji tetapi tidak ditentukan pada
waktu.

-dI Keluarkan arahan '#include' selain hasil preprocessing.

-fworking-direktori
Aktifkan pembuatan penanda garis di output praprosesor yang memungkinkan kompiler
mengetahui direktori kerja saat ini pada saat preprocessing. Ketika opsi ini adalah
diaktifkan, praprosesor akan memancarkan, setelah penanda garis awal, penanda garis kedua
dengan direktori kerja saat ini diikuti oleh dua garis miring. GCC akan menggunakan ini
direktori, ketika ada di input yang diproses sebelumnya, sebagai direktori yang dipancarkan sebagai
direktori kerja saat ini dalam beberapa format informasi debug. Pilihan ini adalah
secara implisit diaktifkan jika informasi debug diaktifkan, tetapi ini dapat dihambat dengan
bentuk yang dinegasikan -fno-working-direktori. Jika -P bendera hadir dalam perintah
baris, opsi ini tidak berpengaruh, karena tidak ada arahan "#line" yang dikeluarkan sama sekali.

-idirafter dir
Pencarian dir untuk menyertakan file, tetapi lakukan setelah semua direktori ditentukan dengan -I serta
direktori sistem standar telah habis. dir diperlakukan sebagai suatu sistem
termasuk direktori. Jika dir dimulai dengan "=", maka "=" akan diganti dengan
awalan sysroot; Lihat --sysroot serta -isysroot.

-imultilib dir
penggunaan dir sebagai subdirektori dari direktori yang berisi header C++ target-spesifik.

-iprefix awalan
Menentukan awalan sebagai awalan untuk selanjutnya -iwithprefix pilihan. jika awalan
mewakili direktori, Anda harus menyertakan akhir '/'.

-isysroot dir
Opsi ini seperti --sysroot opsi, tetapi hanya berlaku untuk file header. Lihat
--sysroot pilihan untuk informasi lebih lanjut.

-Saya mengutip dir
Pencarian dir hanya untuk file header yang diminta dengan "#include "file""; mereka tidak
mencari "#include ", sebelum semua direktori ditentukan oleh -I dan sebelum
direktori sistem standar. Jika dir dimulai dengan "=", maka "=" akan diganti dengan
awalan sysroot; Lihat --sysroot serta -isysroot.

-isistem dir
Pencarian dir untuk file header, setelah semua direktori ditentukan oleh -I tapi sebelum
direktori sistem standar. Tandai sebagai direktori sistem, sehingga mendapatkan yang sama
perlakuan khusus seperti yang diterapkan pada direktori sistem standar. Jika dir dimulai dengan
"=", maka "=" akan diganti dengan awalan sysroot; Lihat --sysroot serta -isysroot.

-nostdinc
Jangan mencari direktori sistem standar untuk file header. Hanya direktori
Anda telah menentukan dengan -I opsi (dan direktori file saat ini, jika
sesuai) dicari.

-def
Jangan menentukan makro khusus sistem atau makro khusus GCC. Standar yang telah ditentukan
makro tetap ditentukan.

-Apredikat=menjawab
Buatlah pernyataan dengan predikat predikat dan jawab menjawab. Bentuk ini adalah
lebih disukai daripada bentuk lama -A predikat(jawaban), yang masih didukung, karena itu
tidak menggunakan karakter khusus shell.

-SEBUAH-predikat=menjawab
Batalkan pernyataan dengan predikat predikat dan jawab menjawab.

-C Jangan buang komentar. Semua komentar diteruskan ke file output, kecuali
untuk komentar dalam arahan yang diproses, yang dihapus bersama dengan arahan.

Anda harus siap untuk efek samping saat menggunakan -C; itu menyebabkan praprosesor untuk
memperlakukan komentar sebagai token dalam hak mereka sendiri. Misalnya, komentar yang muncul di
awal dari apa yang akan menjadi garis direktif memiliki efek mengubah garis itu menjadi sebuah
baris sumber biasa, karena token pertama pada baris bukan lagi '#'.

Peringatan: saat ini hanya menangani komentar C-Style. Praprosesor belum
mengenali komentar gaya Fortran.

-CC Jangan membuang komentar, termasuk selama ekspansi makro. Ini seperti -C, kecuali
bahwa komentar yang terkandung dalam makro juga diteruskan ke file output di mana
makro diperluas.

Selain efek samping dari -C opsi, opsi -CC opsi menyebabkan semua gaya C++
komentar di dalam makro untuk dikonversi ke komentar gaya-C. Ini untuk mencegah nanti
penggunaan makro itu dari secara tidak sengaja mengomentari sisa baris sumber.
The -CC option umumnya digunakan untuk mendukung komentar lint.

Peringatan: saat ini hanya menangani komentar C- dan C++-Style. Praprosesor tidak
belum mengenali komentar bergaya Fortran.

-Dnama
Tetapkan nama sebagai makro, dengan definisi 1.

-Dnama=definisi
Isi dari definisi tokenized dan diproses seolah-olah mereka muncul selama
terjemahan fase tiga dalam arahan '#define'. Secara khusus, definisi akan
dipotong oleh karakter baris baru yang disematkan.

Jika Anda menggunakan praprosesor dari shell atau program seperti shell, Anda mungkin perlu
untuk menggunakan sintaks kutipan shell untuk melindungi karakter seperti spasi yang memiliki
makna dalam sintaks shell.

Jika Anda ingin mendefinisikan makro seperti fungsi pada baris perintah, tulis argumennya
list dengan tanda kurung di sekelilingnya sebelum tanda sama dengan (jika ada). Tanda kurung adalah
bermakna bagi sebagian besar shell, jadi Anda perlu mengutip opsi. Dengan sh dan csh,
"-D'name(args...)=definition'" berfungsi.

-D serta -U opsi diproses dalam urutan yang diberikan pada baris perintah. Semua
-imacros file dan -include opsi file diproses setelah semua opsi -D dan -U.

-H Cetak nama setiap file header yang digunakan, selain aktivitas normal lainnya. Setiap
name diindentasi untuk menunjukkan seberapa dalam tumpukan '#include' itu.

-P Menghambat pembuatan linemarker dalam output dari praprosesor. Ini mungkin
berguna saat menjalankan preprocessor pada sesuatu yang bukan kode C, dan akan dikirim
ke program yang mungkin dikacaukan oleh penanda garis.

-Unama
Batalkan definisi sebelumnya dari nama, baik bawaan atau dilengkapi dengan -D pilihan.

Opsi untuk permintaan or menekan kesalahan serta peringatan
Kesalahan adalah pesan diagnostik yang melaporkan bahwa kompiler GNU Fortran tidak dapat dikompilasi
bagian kode sumber yang relevan. Kompiler akan terus memproses program dalam
upaya untuk melaporkan kesalahan lebih lanjut untuk membantu dalam debugging, tetapi tidak akan menghasilkan apa pun yang dikompilasi
output.

Peringatan adalah pesan diagnostik yang melaporkan konstruksi yang tidak secara inheren
salah tetapi berisiko atau menyarankan kemungkinan ada bug dalam program.
Kecuali kalau -Kesalahan ditentukan, mereka tidak mencegah kompilasi program.

Anda dapat meminta banyak peringatan khusus dengan opsi dimulai -W, sebagai contoh -Simplisit
untuk meminta peringatan pada deklarasi implisit. Masing-masing opsi peringatan khusus ini juga
memiliki awalan bentuk negatif -Tidak- untuk mematikan peringatan; Misalnya, -Wno-implisit.
Manual ini hanya mencantumkan satu dari dua formulir, mana saja yang bukan default.

Opsi ini mengontrol jumlah dan jenis kesalahan dan peringatan yang dihasilkan oleh GNU Fortran:

-fmax-errors=n
Membatasi jumlah maksimum pesan kesalahan hingga n, pada saat itu GNU Fortran keluar
daripada mencoba melanjutkan pemrosesan kode sumber. Jika n adalah 0, tidak ada
membatasi jumlah pesan kesalahan yang dihasilkan.

-fsintaks-saja
Periksa kode untuk kesalahan sintaks, tetapi jangan benar-benar mengompilasinya. Ini akan menghasilkan
file modul untuk setiap modul ada dalam kode, tetapi tidak ada file output lainnya.

-bengah
Mengeluarkan peringatan untuk penggunaan ekstensi ke Fortran 95. -bengah juga berlaku untuk
Konstruksi bahasa C di mana mereka muncul di file sumber GNU Fortran, seperti penggunaan \e
dalam konstanta karakter dalam arahan seperti "#include".

Program Fortran 95 yang valid harus dikompilasi dengan benar dengan atau tanpa opsi ini.
Namun, tanpa opsi ini, ekstensi GNU tertentu dan fitur Fortran tradisional
didukung juga. Dengan opsi ini, banyak dari mereka yang ditolak.

Beberapa pengguna mencoba menggunakan -bengah untuk memeriksa program untuk kesesuaian. Mereka segera menemukan
bahwa itu tidak melakukan apa yang mereka inginkan --- ia menemukan beberapa praktik tidak standar, tetapi
tidak semua. Namun, perbaikan pada GNU Fortran di area ini disambut baik.

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

-pedantic-errors
Seperti -bengah, kecuali bahwa kesalahan dihasilkan daripada peringatan.

-Dinding
Mengaktifkan opsi peringatan yang umum digunakan terkait penggunaan yang kami sarankan untuk dihindari
dan yang kami yakini mudah dihindari. Ini saat ini termasuk -Waliasing,
-Wampersand, -Wkonversi, -Mengejutkan, -Wc-binding-type, -Wintrinsics-std,
-Wno-tab, -Bayangan-Wintrinsik, -Wline-pemotongan, -Wtarget-seumur hidup, -Wreal-q-konstan
serta -Tidak digunakan.

-Waliasing
Peringatkan tentang kemungkinan aliasing dari argumen dummy. Secara khusus, itu memperingatkan jika sama
argumen aktual dikaitkan dengan argumen dummy dengan "INTENT(IN)" dan dummy
argumen dengan "INTENT(OUT)" dalam panggilan dengan antarmuka eksplisit.

Contoh berikut akan memicu peringatan.

antarmuka
bilah subrutin (a,b)
integer, maksud(dalam) :: a
bilangan bulat, maksud(keluar) :: b
akhiri subrutin
antarmuka akhir
bilangan bulat :: a

bilah panggilan (a, a)

-Wampersand
Peringatkan tentang ampersand yang hilang dalam konstanta karakter lanjutan. Peringatan diberikan
dengan -Wampersand, -bengah, -std=f95, -std=f2003 serta -std=f2008. Catatan: Tanpa
ampersand diberikan dalam konstanta karakter lanjutan, GNU Fortran mengasumsikan kelanjutan di
karakter non-komentar, non-spasi pertama setelah ampersand yang memulai
kelanjutan.

-Warray-sementara
Peringatkan tentang temporer array yang dihasilkan oleh kompiler. Informasi yang dihasilkan oleh
peringatan ini terkadang berguna dalam pengoptimalan, untuk menghindari temporer seperti itu.

-Wc-binding-type
Peringatkan jika variabel a mungkin tidak dapat dioperasikan dengan C. Secara khusus, peringatkan jika
variabel telah dideklarasikan menggunakan tipe intrinsik dengan tipe default alih-alih menggunakan
parameter jenis yang ditentukan untuk interoperabilitas C dalam "ISO_C_Binding" intrinsik
modul. Pilihan ini tersirat oleh -Dinding.

-Pemotongan karakter
Peringatkan saat penetapan karakter akan memotong string yang ditetapkan.

-Wline-pemotongan
Peringatkan ketika baris kode sumber akan terpotong. Pilihan ini tersirat oleh -Dinding. Forum
kode sumber bentuk bebas, defaultnya adalah -Kesalahan=pemotongan garis sedemikian rupa sehingga pemotongan
dilaporkan sebagai kesalahan.

-Wkonversi
Peringatkan tentang konversi implisit yang cenderung mengubah nilai ekspresi
setelah konversi. Disiratkan oleh -Dinding.

-Wkonversi-ekstra
Peringatkan tentang konversi implisit antara berbagai jenis dan jenis. Opsi ini tidak
tidak berarti -Wkonversi.

-Wextra
Mengaktifkan beberapa opsi peringatan untuk penggunaan fitur bahasa yang mungkin bermasalah.
Ini saat ini termasuk -Bandingkan-nyata serta -Wunused-parameter.

-Antarmuka-Wimplisit
Peringatkan jika prosedur dipanggil tanpa antarmuka eksplisit. Perhatikan ini hanya cek
bahwa antarmuka eksplisit hadir. Itu tidak memeriksa bahwa antarmuka yang dideklarasikan
konsisten di seluruh unit program.

-Prosedur implisit
Peringatkan jika prosedur dipanggil yang tidak memiliki antarmuka eksplisit atau belum
dinyatakan sebagai "EKSTERNAL".

-Wintrinsics-std
Peringatkan jika gfortran menemukan prosedur bernama seperti intrinsik tidak tersedia di
standar yang saat ini dipilih (dengan -std) dan memperlakukannya sebagai prosedur "EKSTERNAL" karena
ini. -jatuh-intrinsik dapat digunakan untuk tidak pernah memicu perilaku ini dan selalu menautkan
ke intrinsik terlepas dari standar yang dipilih.

-Wreal-q-konstan
Menghasilkan peringatan jika konstanta literal nyata berisi huruf eksponen "q".

-Mengejutkan
Menghasilkan peringatan ketika konstruksi kode "mencurigakan" ditemukan. Ketika
secara teknis hukum ini biasanya menunjukkan bahwa kesalahan telah dibuat.

Ini saat ini menghasilkan peringatan dalam keadaan berikut:

* Konstruk INTEGER SELECT memiliki CASE yang tidak pernah bisa ditandingi sebagai yang lebih rendah
nilainya lebih besar dari nilai atasnya.

* Sebuah konstruk LOGICAL SELECT memiliki tiga pernyataan CASE.

* TRANSFER menentukan sumber yang lebih pendek dari tujuan.

* Jenis hasil fungsi dideklarasikan lebih dari satu kali dengan jenis yang sama. Jika
-bengah atau mode sesuai standar diaktifkan, ini adalah kesalahan.

* Variabel "CHARACTER" dideklarasikan dengan panjang negatif.

-Wtabs
Secara default, tab diterima sebagai spasi, tetapi tab bukan anggota Fortran
Set karakter. Untuk garis lanjutan, tab yang diikuti oleh angka antara 1 dan 9 adalah
didukung. -Wtabs akan menyebabkan peringatan dikeluarkan jika tab ditemukan. Catatan,
-Wtabs aktif untuk -bengah, -std=f95, -std=f2003, -std=f2008, -std=f2008ts serta
-Dinding.

- Aliran bawah air
Menghasilkan peringatan ketika ekspresi konstan numerik ditemui, yang menghasilkan
UNDERFLOW selama kompilasi. Diaktifkan secara default.

-Bayangan-Wintrinsik
Peringatkan jika prosedur yang ditentukan pengguna atau prosedur modul memiliki nama yang sama dengan
hakiki; dalam hal ini, antarmuka eksplisit atau "EKSTERNAL" atau "INTRINSIK"
deklarasi mungkin diperlukan untuk mendapatkan panggilan yang kemudian diselesaikan ke yang diinginkan
intrinsik/prosedur. Pilihan ini tersirat oleh -Dinding.

-Wuse-tanpa-saja
Peringatkan jika pernyataan "GUNAKAN" tidak memiliki kualifikasi "HANYA" dan dengan demikian secara implisit mengimpor semua
entitas publik dari modul yang digunakan.

-Wunused-dummy-argumen
Peringatkan tentang argumen dummy yang tidak digunakan. Pilihan ini tersirat oleh -Dinding.

-Wunused-parameter
Berbeda dengan gccarti dari -Wunused-parameter, gfortranimplementasi ini
opsi tidak memperingatkan tentang argumen dummy yang tidak digunakan (lihat -Wunused-dummy-argumen), tapi
tentang nilai "PARAMETER" yang tidak digunakan. -Wunused-parameter tersirat oleh -Wextra jika juga
-Tidak digunakan or -Dinding digunakan.

-Walign-commons
Secara default, gfortran memperingatkan tentang setiap kesempatan variabel yang diisi dengan benar
keselarasan di dalam blok "COMMON". Peringatan ini dapat dimatikan melalui
-Wno-align-commons. Lihat juga -falign-commons.

-Wfungsi-eliminasi
Peringatkan jika ada panggilan ke fungsi yang dihilangkan oleh pengoptimalan yang diaktifkan oleh
-optimalkan ffrontend pilihan.

-Wrealloc-lhs
Peringatkan ketika kompilator mungkin menyisipkan kode untuk alokasi atau realokasi suatu
variabel array yang dapat dialokasikan dari tipe intrinsik dalam tugas intrinsik. Dalam putaran panas,
fitur realokasi Fortran 2003 dapat mengurangi kinerja. Jika arraynya adalah
sudah dialokasikan dengan bentuk yang benar, pertimbangkan untuk menggunakan array-array-spec
(misalnya "(:,:,:)") untuk variabel di sisi kiri untuk mencegah realokasi
memeriksa. Perhatikan bahwa dalam beberapa kasus peringatan ditampilkan, bahkan jika kompilator akan
mengoptimalkan pemeriksaan realokasi. Misalnya, ketika sisi kanan berisi
variabel yang sama dikalikan dengan skalar. Lihat juga -frealloc-lhs.

-Wrealloc-lhs-all
Peringatkan ketika kompilator menyisipkan kode untuk alokasi atau realokasi suatu
variabel yang dapat dialokasikan; ini termasuk skalar dan tipe turunan.

-Bandingkan-nyata
Peringatkan saat membandingkan tipe nyata atau kompleks untuk kesetaraan atau ketidaksetaraan. Pilihan ini adalah
tersirat oleh -Wextra.

-Wtarget-seumur hidup
Peringatkan jika penunjuk dalam penugasan penunjuk mungkin lebih panjang dari targetnya. Ini
pilihan tersirat oleh -Dinding.

-Wzerotrip
Peringatkan jika loop "DO" diketahui mengeksekusi nol kali pada waktu kompilasi. Pilihan ini adalah
tersirat oleh -Dinding.

-Kesalahan
Mengubah semua peringatan menjadi kesalahan.

Beberapa di antaranya tidak berpengaruh saat mengkompilasi program yang ditulis dalam Fortran.

Opsi untuk debugging anda program or GNU Fortran
GNU Fortran memiliki berbagai opsi khusus yang digunakan untuk men-debug program Anda atau
kompiler GNU Fortran.

-fdump-fortran-asli
Keluarkan pohon parse internal setelah menerjemahkan program sumber ke internal
perwakilan. Hanya sangat berguna untuk men-debug kompiler GNU Fortran itu sendiri.

-fdump-fortran-dioptimalkan
Keluarkan pohon parse setelah optimasi front-end. Hanya sangat berguna untuk debugging
kompiler GNU Fortran itu sendiri.

-fdump-parse-pohon
Keluarkan pohon parse internal setelah menerjemahkan program sumber ke internal
perwakilan. Hanya sangat berguna untuk men-debug kompiler GNU Fortran itu sendiri.
Opsi ini tidak digunakan lagi; gunakan "-fdump-fortran-original" sebagai gantinya.

-ffpe-trap=daftar
Tentukan daftar perangkap pengecualian titik mengambang untuk diaktifkan. Pada kebanyakan sistem, jika
pengecualian floating point terjadi dan jebakan untuk pengecualian itu diaktifkan, sebuah SIGFPE
sinyal akan dikirim dan program dibatalkan, menghasilkan file inti yang berguna untuk
debug. daftar adalah daftar (mungkin kosong) yang dipisahkan koma dari berikut ini
pengecualian: tidak sah (operasi floating point tidak valid, seperti "SQRT(-1.0)"), nol
(pembagian dengan nol), melimpah (meluap dalam operasi floating point), arus bawah
(underflow dalam operasi floating point), tdk tepat (kehilangan presisi selama
operasi), dan tidak normal (operasi dilakukan pada nilai denormal). Lima pertama
pengecualian sesuai dengan lima pengecualian IEEE 754, sedangkan yang terakhir (tidak normal)
bukan bagian dari standar IEEE 754 tetapi tersedia pada beberapa arsitektur umum
seperti x86.

Tiga pengecualian pertama (tidak sah, nol, dan melimpah) sering menunjukkan serius
kesalahan, dan kecuali program memiliki ketentuan untuk menangani pengecualian ini,
mengaktifkan jebakan untuk ketiga pengecualian ini mungkin merupakan ide yang bagus.

Banyak, jika bukan sebagian besar, operasi floating point mengalami kehilangan presisi karena pembulatan,
dan karenanya "ffpe-trap=inexact" cenderung tidak menarik dalam praktiknya.

Secara default, tidak ada perangkap pengecualian yang diaktifkan.

-ffpe-ringkasan=daftar
Tentukan daftar pengecualian floating-point, yang status benderanya dicetak ke
"ERROR_UNIT" saat menjalankan "STOP" dan "ERROR STOP". daftar bisa juga tak satupun, semua atau
daftar pengecualian berikut yang dipisahkan koma: tidak sah, nol, melimpah, arus bawah,
tdk tepat serta tidak normal. (Lihat -ffpe-trap untuk deskripsi pengecualian.)

Secara default, ringkasan untuk semua pengecualian tetapi tdk tepat ditampilkan.

-fno-backtrace
Ketika terjadi kesalahan runtime yang serius atau sinyal mematikan dipancarkan
(kesalahan segmentasi, instruksi ilegal, kesalahan bus, pengecualian floating-point, dan
sinyal POSIX lain yang memiliki aksi inti), perpustakaan runtime Fortran mencoba untuk
menampilkan backtrace dari kesalahan. "-fno-backtrace" menonaktifkan pembuatan backtrace.
Opsi ini hanya berpengaruh pada kompilasi program utama Fortran.

Opsi untuk direktori Cari
Opsi ini memengaruhi cara GNU Fortran mencari file yang ditentukan oleh "TERMASUKKAN"
direktif dan di mana ia mencari modul yang dikompilasi sebelumnya.

Ini juga mempengaruhi jalur pencarian yang digunakan oleh cpp ketika digunakan untuk memproses sumber Fortran.

-Idir
Ini memengaruhi interpretasi direktif "INCLUDE" (serta "#include"
arahan dari cpp praprosesor).

Perhatikan juga bahwa perilaku umum -I dan "TERMASUKKAN" hampir sama dengan
-I dengan "#include" di cpp preprocessor, sehubungan dengan mencari header.gcc
file dan hal-hal lain semacam itu.

Jalur ini juga digunakan untuk mencari .mod file ketika modul yang dikompilasi sebelumnya adalah
diperlukan oleh pernyataan "USE".

-Jdir
Opsi ini menentukan di mana harus meletakkan .mod file untuk modul yang dikompilasi. Itu juga ditambahkan
ke daftar direktori yang akan dicari dengan pernyataan "USE".

Standarnya adalah direktori saat ini.

-fintrinsik-modul-jalur dir
Opsi ini menentukan lokasi modul intrinsik yang telah dikompilasi sebelumnya, jika tidak
di lokasi default yang diharapkan oleh kompiler.

Mempengaruhi itu menghubungkan langkah
Opsi-opsi ini ikut bermain ketika kompiler menautkan file objek ke dalam file yang dapat dieksekusi
berkas keluaran. Mereka tidak ada artinya jika kompiler tidak melakukan langkah tautan.

-static-libgfortran
Pada sistem yang menyediakan libgforran sebagai perpustakaan bersama dan perpustakaan statis, opsi ini
memaksa penggunaan versi statis. Jika tidak ada versi yang dibagikan libgforran dibangun
ketika kompiler dikonfigurasi, opsi ini tidak berpengaruh.

Mempengaruhi runtime laku
Opsi ini mempengaruhi perilaku runtime dari program yang dikompilasi dengan GNU Fortran.

-fkonversi=Konversi
Tentukan representasi data untuk file yang tidak diformat. Nilai yang valid untuk konversi
adalah: asli, defaultnya; menukar, tukar antara big-endian dan little-endian; big endian, Gunakan
representasi big-endian untuk file yang tidak diformat; little-endian, gunakan little-endian
representasi untuk file yang tidak diformat.

Ini pilihan memiliki an efek hanya ketika bekas in itu utama program. The "MENGUBAH" penentu
serta itu GFORTRAN_CONVERT_UNIT lingkungan Hidup variabel mengesampingkan itu kegagalan ditentukan by
-fkonversi.

-penanda rekaman=panjangnya
Tentukan panjang penanda rekaman untuk file yang tidak diformat. Nilai yang valid untuk panjangnya
adalah 4 dan 8. Standarnya adalah 4. Ini is berbeda dari sebelumnya Versi of gfortran,
yang menentukan panjang penanda rekaman default 8 pada sebagian besar sistem. Jika Anda menghendaki
membaca atau menulis file yang kompatibel dengan versi sebelumnya dari gfortran, Gunakan
-penanda rekaman=8.

-fmax-subrecord-length=panjangnya
Tentukan panjang maksimum untuk subrekaman. Nilai maksimum yang diizinkan untuk panjang adalah
2147483639, yang juga merupakan default. Hanya sangat berguna untuk digunakan oleh gfortran
ruang ujian.

-fsign-nol
Saat diaktifkan, angka floating point dari nilai nol dengan set bit tanda ditulis
sebagai angka negatif dalam output yang diformat dan diperlakukan sebagai negatif dalam "SIGN"
hakiki. -fno-tanda-nol tidak mencetak tanda negatif dari nilai nol (atau nilai
dibulatkan ke nol untuk I/O) dan menganggap nol sebagai angka positif dalam intrinsik "SIGN"
untuk kompatibilitas dengan Fortran 77. Standarnya adalah -fsign-nol.

Opsi untuk kode generasi konvensi
Opsi mesin-independen ini mengontrol konvensi antarmuka yang digunakan dalam kode
generasi.

Kebanyakan dari mereka memiliki bentuk positif dan negatif; bentuk negatif dari -ffo akan
-fno-foo. Pada tabel di bawah ini, hanya satu dari formulir yang terdaftar --- yang bukan
bawaan. Anda dapat mengetahui bentuk lain dengan menghapus tidak- atau menambahkannya.

-fno-otomatis
Perlakukan setiap unit program (kecuali yang ditandai sebagai RECURSIVE) seolah-olah pernyataan "SIMPAN"
ditentukan untuk setiap variabel lokal dan array yang direferensikan di dalamnya. Tidak mempengaruhi
blok umum. (Beberapa kompiler Fortran menyediakan opsi ini dengan nama -statis or
-menyimpan.) Standarnya, yaitu -faotomatis, menggunakan tumpukan untuk variabel lokal yang lebih kecil
dari nilai yang diberikan oleh -fmax-stack-var-size. Gunakan opsi -frekursif menggunakan tidak
memori statis.

-ff2c
Hasilkan kode yang dirancang agar kompatibel dengan kode yang dihasilkan oleh g77 serta f2c.

Konvensi pemanggilan yang digunakan oleh g77 (awalnya diimplementasikan di f2c) membutuhkan fungsi
yang mengembalikan tipe default "NYATA" untuk benar-benar mengembalikan tipe C "ganda", dan fungsi
yang mengembalikan ketik "COMPLEX" untuk mengembalikan nilai melalui argumen tambahan dalam panggilan
urutan yang menunjuk ke tempat untuk menyimpan nilai kembalian. Di bawah GNU default
konvensi pemanggilan, fungsi seperti itu hanya mengembalikan hasilnya seperti di GNU
C --- fungsi "NYATA" default mengembalikan tipe C "mengambang", dan fungsi "COMPLEX" kembali
tipe GNU C "kompleks". Selain itu, opsi ini menyiratkan -fsecond-garis bawah
pilihan, kecuali -fno-kedua-garis bawah diminta secara eksplisit.

Ini tidak memengaruhi pembuatan kode yang berinteraksi dengan libgforran
Perpustakaan.

Peringatan: Bukan ide yang baik untuk mencampur kode Fortran yang dikompilasi dengan -ff2c dengan kode
dikompilasi dengan default -fno-f2c memanggil konvensi sebagai, memanggil "COMPLEX" atau
fungsi "NYATA" default antara bagian program yang dikompilasi dengan yang berbeda
konvensi pemanggilan akan rusak pada waktu eksekusi.

Peringatan: Ini akan memecahkan kode yang melewati fungsi intrinsik dari tipe default "NYATA"
atau "COMPLEX" sebagai argumen aktual, karena implementasi perpustakaan menggunakan -fno-f2c
konvensi pemanggilan.

-fno-menggarisbawahi
Jangan mengubah nama entitas yang ditentukan dalam file sumber Fortran dengan menambahkan
menggarisbawahi mereka.

Dengan -penggalangan dana pada dasarnya, GNU Fortran menambahkan satu garis bawah ke nama eksternal
tanpa garis bawah. Hal ini dilakukan untuk memastikan kompatibilitas dengan kode yang dihasilkan oleh banyak
Kompiler UNIX Fortran.

Peringatan: Perilaku default GNU Fortran tidak kompatibel dengan f2c serta g77, Mohon
gunakan -ff2c opsi jika Anda ingin file objek dikompilasi dengan GNU Fortran menjadi
kompatibel dengan kode objek yang dibuat dengan alat ini.

Penggunaan -fno-menggarisbawahi tidak disarankan kecuali Anda bereksperimen dengan masalah
seperti integrasi GNU Fortran ke dalam lingkungan sistem yang ada (vis-a-vis
perpustakaan yang ada, alat, dan sebagainya).

Misalnya dengan -penggalangan dana, dan dengan asumsi bahwa "j()" dan "max_count()" adalah
fungsi eksternal sementara "my_var" dan "lvar" adalah variabel lokal, pernyataan seperti

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

diimplementasikan sebagai sesuatu yang mirip dengan:

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

Dengan -fno-menggarisbawahi, pernyataan yang sama diimplementasikan sebagai:

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

Penggunaan -fno-menggarisbawahi memungkinkan spesifikasi langsung nama yang ditentukan pengguna sementara
debugging dan saat menghubungkan kode GNU Fortran dengan bahasa lain.

Perhatikan bahwa hanya karena namanya cocok tidak berarti antarmuka diimplementasikan oleh
GNU Fortran untuk nama eksternal cocok dengan antarmuka yang diterapkan oleh beberapa lainnya
bahasa untuk nama yang sama. Yaitu, mendapatkan kode yang diproduksi oleh GNU Fortran untuk ditautkan ke
kode yang dihasilkan oleh beberapa kompiler lain menggunakan ini atau metode lain apa pun hanya dapat menjadi
bagian kecil dari solusi keseluruhan --- mendapatkan kode yang dihasilkan oleh kedua kompiler untuk
menyepakati masalah selain penamaan dapat memerlukan upaya yang signifikan, dan, tidak seperti penamaan
ketidaksepakatan, penghubung biasanya tidak dapat mendeteksi ketidaksepakatan di area lain ini.

Juga, perhatikan bahwa dengan -fno-menggarisbawahi, kurangnya garis bawah yang ditambahkan memperkenalkan
kemungkinan yang sangat nyata bahwa nama eksternal yang ditentukan pengguna akan bertentangan dengan nama
di perpustakaan sistem, yang dapat membuat menemukan bug referensi yang belum terselesaikan cukup
sulit dalam beberapa kasus --- mereka mungkin terjadi pada waktu program dijalankan, dan hanya muncul sebagai
perilaku buggy saat dijalankan.

Dalam versi GNU Fortran yang akan datang, kami berharap dapat memperbaiki masalah penamaan dan penautan sehingga
debugging selalu melibatkan penggunaan nama seperti yang muncul di sumber, bahkan jika
nama seperti yang terlihat oleh penaut dirusak untuk mencegah tautan yang tidak disengaja antara
prosedur dengan antarmuka yang tidak kompatibel.

-fsecond-garis bawah
Secara default, GNU Fortran menambahkan garis bawah ke nama eksternal. Jika opsi ini adalah
digunakan GNU Fortran menambahkan dua garis bawah ke nama dengan garis bawah dan satu garis bawah
untuk nama eksternal tanpa garis bawah. GNU Fortran juga menambahkan dua garis bawah ke
nama internal dengan garis bawah untuk menghindari tabrakan penamaan dengan nama eksternal.

Opsi ini tidak berpengaruh jika -fno-menggarisbawahi sedang berlaku. Hal ini tersirat oleh
-ff2c pilihan.

Jika tidak, dengan opsi ini, nama eksternal seperti "MAX_COUNT" diterapkan sebagai
referensi ke simbol eksternal waktu tautan "max_count__", alih-alih "max_count_".
Ini diperlukan untuk kompatibilitas dengan g77 serta f2c, dan tersirat dengan menggunakan
-ff2c pilihan.

-fcoarray=
tak satupun
Nonaktifkan dukungan coarray; menggunakan deklarasi coarray dan pernyataan kontrol gambar
akan menghasilkan kesalahan waktu kompilasi. (Bawaan)

tunggal
Mode gambar tunggal, yaitu "num_images()" selalu satu.

lib Paralelisasi coarray berbasis perpustakaan; perpustakaan coarray GNU Fortran yang cocok
perlu dihubungkan.

-fcek=
Aktifkan pembuatan pemeriksaan run-time; argumen harus berupa daftar yang dipisahkan koma
dari kata kunci berikut.

semua Aktifkan semua uji run-time dari -fcek.

array-temps
Memperingatkan saat run time ketika untuk melewatkan argumen aktual, array sementara harus
dihasilkan. Informasi yang dihasilkan oleh peringatan ini terkadang berguna dalam
optimasi, untuk menghindari temporer tersebut.

Catatan: Peringatan hanya dicetak satu kali per lokasi.

batas
Aktifkan pembuatan pemeriksaan run-time untuk subskrip array dan terhadap yang dideklarasikan
nilai minimum dan maksimum. Itu juga memeriksa indeks array untuk asumsi dan penundaan
bentuk array terhadap batas yang dialokasikan sebenarnya dan memastikan bahwa semua string
panjangnya sama untuk konstruktor array karakter tanpa typespec eksplisit.

Beberapa pemeriksaan mengharuskan -fcheck=batas diatur untuk kompilasi utama
program.

Catatan: Di masa mendatang, ini mungkin juga mencakup bentuk pemeriksaan lain, misalnya pemeriksaan
referensi substring.

do Aktifkan pembuatan pemeriksaan run-time untuk modifikasi iterasi loop yang tidak valid
variabel.

Anggota Aktifkan pembuatan pemeriksaan run-time untuk alokasi memori. Catatan: Opsi ini
tidak memengaruhi alokasi eksplisit menggunakan pernyataan "ALOKASI", yang akan menjadi
selalu diperiksa.

petunjuk
Aktifkan pembuatan pemeriksaan run-time untuk pointer dan yang dapat dialokasikan.

pengulangan
Aktifkan pembuatan pemeriksaan run-time untuk subrutin yang disebut secara rekursif dan
fungsi yang tidak ditandai sebagai rekursif. Lihat juga -frekursif. Catatan: Ini
check tidak berfungsi untuk program OpenMP dan dinonaktifkan jika digunakan bersama dengan
-frekursif serta -fopenmp.

-fbounds-cek
Alias ​​​​tidak digunakan lagi untuk -fcheck=batas.

-fcheck-array-sementara
Alias ​​​​tidak digunakan lagi untuk -fcheck=array-temps.

-fmax-array-constructor=n
Opsi ini dapat digunakan untuk meningkatkan batas atas yang diizinkan dalam konstruktor array.
Kode di bawah ini memerlukan opsi ini untuk memperluas array pada waktu kompilasi.

tes program
implisit tidak ada
bilangan bulat j
bilangan bulat, parameter :: n = 100000
bilangan bulat, parameter :: i(n) = (/ (2*j, j = 1, n) /)
cetak '(10(I0,1X))', i
tes akhir program

Peringatan: Ini pilihan bisa memimpin untuk panjang menyusun kali serta secara berlebihan besar obyek
file.

Nilai default untuk n adalah 65535.

-fmax-stack-var-size=n
Opsi ini menentukan ukuran dalam byte dari array terbesar yang akan diletakkan di
tumpukan; jika ukurannya terlampaui, memori statis digunakan (kecuali dalam prosedur yang ditandai sebagai
REKURSIF). Gunakan opsi -frekursif untuk memungkinkan prosedur rekursif yang tidak
memiliki atribut RECURSIVE atau untuk program paralel. Menggunakan -fno-otomatis untuk tidak pernah menggunakan
tumpukan.

Opsi ini saat ini hanya memengaruhi array lokal yang dideklarasikan dengan batas konstan, dan mungkin
tidak berlaku untuk semua variabel karakter. Versi GNU Fortran yang akan datang dapat meningkatkan ini
tingkah laku.

Nilai default untuk n adalah 32768.

-fstack-array
Menambahkan opsi ini akan membuat kompiler Fortran meletakkan semua array lokal, bahkan array dari
ukuran yang tidak diketahui ke memori tumpukan. Jika program Anda menggunakan array lokal yang sangat besar, itu adalah
mungkin Anda harus memperpanjang batas runtime Anda untuk memori tumpukan pada beberapa
sistem operasi. Bendera ini diaktifkan secara default pada tingkat pengoptimalan -cepat.

-berasal dari fpack
Opsi ini memberitahu GNU Fortran untuk mengemas anggota tipe turunan sedekat mungkin.
Kode yang dikompilasi dengan opsi ini kemungkinan besar tidak kompatibel dengan kode yang dikompilasi tanpa
opsi ini, dan mungkin dijalankan lebih lambat.

-frepack-array
Dalam beberapa keadaan, GNU Fortran dapat melewati bagian array bentuk yang diasumsikan melalui a
deskriptor yang menggambarkan area memori yang tidak berdekatan. Opsi ini menambahkan kode ke
fungsi prolog untuk mengemas ulang data ke dalam blok yang berdekatan saat runtime.

Ini akan menghasilkan akses yang lebih cepat ke array. Namun itu bisa memperkenalkan
overhead yang signifikan untuk panggilan fungsi, terutama ketika data yang dikirimkan adalah
tidak bersebelahan.

-fshort-enums
Opsi ini disediakan untuk interoperabilitas dengan kode C yang dikompilasi dengan
-fshort-enums pilihan. Ini akan membuat GNU Fortran memilih jenis "INTEGER" terkecil a
set enumerator yang diberikan akan cocok, dan memberikan semua enumeratornya semacam ini.

-fexternal-blas
Opsi ini akan membuat gfortran menghasilkan panggilan ke fungsi BLAS untuk beberapa matriks
operasi seperti "MATMUL", alih-alih menggunakan algoritme kami sendiri, jika ukuran
matriks yang terlibat lebih besar dari batas yang diberikan (lihat -fblas-matmul-limit). Ini mungkin
menguntungkan jika pustaka BLAS vendor yang dioptimalkan tersedia. Perpustakaan BLAS akan
harus ditentukan pada waktu tautan.

-fblas-matmul-limit=n
Hanya signifikan ketika -fexternal-blas sedang berlaku. Perkalian matriks matriks
dengan ukuran lebih besar dari (atau sama dengan) n akan dilakukan oleh panggilan ke fungsi BLAS,
sementara yang lain akan ditangani oleh gfortran algoritma internal. Jika matriks yang terlibat
tidak persegi, perbandingan ukuran dilakukan dengan menggunakan rata-rata geometrik dari
dimensi argumen dan matriks hasil.

Nilai default untuk n adalah 30.

-frekursif
Izinkan rekursi tidak langsung dengan memaksa semua array lokal dialokasikan pada stack.
Bendera ini tidak dapat digunakan bersama-sama dengan -fmax-stack-var-size= or -fno-otomatis.

-finit-lokal-nol
-hingga-integer=n
-finit-nyata=
-finit-logis=
-finit-karakter=n
The -finit-lokal-nol opsi menginstruksikan kompiler untuk menginisialisasi "INTEGER" lokal,
Variabel "NYATA", dan "KOMPLEKS" menjadi nol, variabel "LOGIS" menjadi salah, dan "KARAKTER"
variabel ke string byte nol. Opsi inisialisasi yang lebih halus adalah
disediakan oleh -hingga-integer=n, -finit-nyata= (yang juga
menginisialisasi bagian nyata dan imajiner dari variabel "COMPLEX" lokal),
-finit-logis=, dan -finit-karakter=n (dimana n adalah karakter ASCII
nilai) pilihan. Opsi ini tidak menginisialisasi

* array yang dapat dialokasikan

* komponen variabel tipe turunan

* variabel yang muncul dalam pernyataan "EQUIVALENCE".

(Keterbatasan ini dapat dihapus di rilis mendatang).

Perhatikan bahwa -finit-nyata=nan opsi menginisialisasi variabel "NYATA" dan "COMPLEX" dengan a
tenang NaN. Untuk penggunaan sinyal NaN -finit-nyata=snan; perhatikan, bagaimanapun, waktu kompilasi itu
pengoptimalan dapat mengubahnya menjadi NaN yang tenang dan perangkap itu perlu diaktifkan
(misalnya melalui -ffpe-trap).

Terakhir, perhatikan bahwa mengaktifkan salah satu dari -habis-* opsi akan membungkam peringatan bahwa
akan dipancarkan oleh -Wuninisialisasi untuk variabel lokal yang terpengaruh.

-falign-commons
Secara default, gfortran memberlakukan penyelarasan yang tepat dari semua variabel dalam blok "UMUM" dengan
padding mereka sesuai kebutuhan. Pada platform tertentu ini wajib, di platform lain itu meningkat
pertunjukan. Jika blok "COMMON" tidak dideklarasikan dengan tipe data yang konsisten
di mana-mana, bantalan ini dapat menyebabkan masalah, dan -fno-align-commons dapat digunakan untuk
nonaktifkan penyelarasan otomatis. Bentuk yang sama dari opsi ini harus digunakan untuk semua file
yang berbagi blok "UMUM". Untuk menghindari potensi masalah penyelarasan di blok "UMUM",
disarankan untuk mengurutkan objek dari yang terbesar hingga yang terkecil.

-fno-protect-parens
Secara default, tanda kurung dalam ekspresi dihormati untuk semua tingkat pengoptimalan seperti
bahwa kompiler tidak melakukan re-asosiasi apa pun. Menggunakan -fno-protect-parens memungkinkan
compiler untuk menyusun ulang ekspresi "REAL" dan "COMPLEX" untuk menghasilkan kode yang lebih cepat. Perhatikan bahwa
untuk optimasi re-asosiasi -fno-ditandatangani-nol serta -fno-perangkap-matematika perlu
mulai berlaku. Perlindungan tanda kurung diaktifkan secara default, kecuali -cepat is
diberikan.

-frealloc-lhs
Sisi kiri yang dapat dialokasikan dari tugas intrinsik secara otomatis
(re)dialokasikan jika tidak terisi atau memiliki bentuk yang berbeda. Pilihannya adalah
diaktifkan secara default kecuali ketika -std=f95 diberikan. Lihat juga -Wrealloc-lhs.

-penghapusan-fungsi-faggresif
Fungsi dengan daftar argumen yang identik dihilangkan dalam pernyataan, terlepas dari
apakah fungsi-fungsi ini ditandai "MURNI" atau tidak. Misalnya, di

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

hanya akan ada satu panggilan ke "f". Opsi ini hanya berfungsi jika
-optimalkan ffrontend sedang berlaku.

-optimalkan ffrontend
Opsi ini melakukan optimasi front-end, berdasarkan memanipulasi bagian Fortran
mengurai pohon. Diaktifkan secara default oleh apa saja -O pilihan. Pengoptimalan diaktifkan oleh ini
opsi termasuk penghapusan panggilan fungsi yang identik dalam ekspresi, menghapus
panggilan yang tidak perlu ke "TRIM" dalam perbandingan dan penugasan dan mengganti TRIM(a) dengan
"a(1:LEN_TRIM(a))". Itu dapat dibatalkan pilihannya dengan menentukan -fno-frontend-optimasi.

LINGKUNGAN


The gfortran compiler saat ini tidak menggunakan variabel lingkungan untuk mengontrol
operasinya di atas dan di luar mereka yang mempengaruhi operasi gcc.

Gunakan mips-linux-gnu-gfortran online menggunakan layanan onworks.net


Ad


Ad

Program online Linux & Windows terbaru