אנגליתצרפתיתגרמניתאיטלקיפורטוגזירוסיספרדי

סמל OnWorks

mips64-linux-gnuabi64-gfortran - מקוון בענן

הפעל את mips64-linux-gnuabi64-gfortran בספק אירוח חינמי של OnWorks באמצעות אובונטו אונליין, פדורה אונליין, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS

זוהי הפקודה mips64-linux-gnuabi64-gfortran שניתן להפעיל בספק האירוח החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות המרובות שלנו בחינם כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS

תָכְנִית:

שֵׁם


gfortran - מהדר GNU Fortran

תַקצִיר


גפורטרן [-c|-S|-E]
[-g] [-עמוד] [-Oרָמָה]
[-Wלהזהיר...] [-קַפְּדָנִי]
[-Idir...] [-Ldir...]
[-Dמאקרו[=defn]...] [-Uמאקרו]
[-fאוֹפְּצִיָה...]
[-mאפשרות למכונה...]
[-o אוסף] בקובץ...

רק האפשרויות השימושיות ביותר מפורטות כאן; ראה להלן לגבי השאר.

תיאור


גפורטרן הפקודה תומכת בכל האפשרויות הנתמכות על ידי gcc פקודה. רק אפשרויות
ספציפיים ל-GNU Fortran מתועדים כאן.

כל האפשרויות של GCC ו-GNU Fortran מתקבלות על ידי שתיהן גפורטרן ועל ידי gcc (כמו גם כל
דרייברים אחרים שנבנו בו זמנית, כגון g ++), מאז הוספת GNU Fortran ל-GCC
ההפצה מאפשרת קבלת אפשרויות GNU Fortran על ידי כל הנהגים הרלוונטיים.

במקרים מסוימים, לאפשרויות יש צורות חיוביות ושליליות; הצורה השלילית של -ffoo היה
be -fno-foo. מדריך זה מתעד רק אחד משני הטפסים הללו, מי מהם אינו
ברירת המחדל.

אפשרויות


להלן סיכום של כל האפשרויות הספציפיות ל-GNU Fortran, מקובצות לפי סוג.
הסברים נמצאים בסעיפים הבאים.

פורטרן שפה אפשרויות
- סתיו-הטבעות -fbacklash -fcray-pointer -fd-lines-as-code -fd-lines-as-comments
-fdefault-double-8 -fdefault-integer-8 -fdefault-real-8 -fdollar-בסדר
-ffixed-line-length-n -ffixed-line-length-none צורה חופשית -ffree-line-length-n
-ffree-line-length-none -פשטני-אין -finteger-4-integer-8 -fmax-identifier-length
-fmodule-private -ffixed-form -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

עיבוד מוקדם אפשרויות
-א-שאלה[=לענות] -Aשאלה=לענות -C -CC -Dמאקרו[=defn] -H -P -Uמאקרו -cpp -dD
-די -dM -dN -dU -fworking-מדריך -אימולטיבי dir -iprefix פילה -אני מצטט -isysroot dir
-מערכת dir -nocpp -נוסטדינק -undef

שְׁגִיאָה ו אזהרה אפשרויות
-וליה - קיר -וומפרסנד -גבולות המלחמה -סוג Wc-binding -חיתוך תו
-המרה -חיסול Wfunction -ממשק סתמי -פרוצדורה גלויה
-צללית חורף -Wuse-בלי-בלבד -Wintrinsics-std -קיצור Wline
-Wno-align-commons -לא-כרטיסיות -Wreal-q-constant - מפתיע -זרימת פלאות
-פרמטר Wunused -Wrealloc-lhs -Wrealloc-lhs-all -משך חיים יעד -fmax-errors=n
-fsyntax-בלבד -קַפְּדָנִי -פדנטיות-טעויות

Debugging אפשרויות
-fbacktrace -fdump-fortran מותאם -fdump-fortran-original -fdump-נתח-עץ
-ffpe-trap=רשימה -ffpe-summary=רשימה

מַדרִיך אפשרויות
-Idir -Jdir -פינטרינס-מודולים-נתיב dir

קישור אפשרויות
-static-libgfortran

זמן ריצה אפשרויות
-fconvert=המרה -fmax-subrecord-length=אורך -frecord-marker=אורך -fסימן-אפס

קופונים דור אפשרויות
-חיסול-פונקציונליות-פאגרסיבית -fblas-matmul-limit=n -fbounds-check
-fcheck-array-זמניים -fcheck=
-fcoarray= -פקסטרנל-בלאס -ff2c -ffrontend-optimize
-finit-character=n -finit-integer=n -סופי-מקומי-אפס -סופית-לוגית=
-finit-real= -fmax-array-constructor=n -fmax-stack-var-size=n
-fno-align-commons -fno-אוטומטי -fno-protect-parens -fno-הדגשה
-fsecond-קו תחתון -fpack-נגזר -frealloc-lhs -frecursive -frepack-מערכי
-fshort-enums -fstack-מערכי

אפשרויות שליטה פורטרן נִיב
האפשרויות הבאות שולטות בפרטי הניב Fortran המקובל על ידי המהדר:

צורה חופשית
-ffixed-form
ציין את הפריסה המשמשת את קובץ המקור. פריסת הטופס החופשי הוצגה ב
Fortran 90. צורה קבועה שימשה באופן מסורתי בתוכניות Fortran ישנות יותר. מתי
אף אחת מהאפשרויות לא צוינה, צורת המקור נקבעת לפי סיומת הקובץ.

- סתיו-הטבעות
אפשרות זו גורמת לכל ההליכים הפנימיים (כולל ההרחבות הספציפיות ל-GNU).
להתקבל. זה יכול להיות שימושי עם -std=f95 לכפות עמידה בתקן אבל לקבל
גישה לכל מגוון המרכיבים הפנימיים הזמינים עם גפורטרן. כתוצאה מכך,
-Wintrinsics-std יתעלם ולא יתבצע הליך מוגדר על ידי המשתמש באותו שם כמו
כל חומר מהותי ייקרא למעט כאשר הוא הוכרז במפורש "חיצוני".

-fd-lines-as-code
-fd-lines-as-comments
אפשר טיפול מיוחד לשורות המתחילות ב-"d" או "D" במקורות בצורה קבועה.
אם -fd-lines-as-code ניתנת אפשרות הם מטופלים כאילו העמודה הראשונה
הכיל ריק. אם ה -fd-lines-as-comments ניתנת אפשרות, מתייחסים אליהם כאל
שורות הערה.

-fdollar-בסדר
להתיר $ בתור תו חוקי שאינו ראשון בשם סמל. סמלים שמתחילים ב $ יש לו
נדחה מאחר שלא ברור אילו כללים להחיל על הקלדה מרומזת כשונה
הספקים מיישמים כללים שונים. באמצעות $ גם בהצהרות "משתמע" נדחתה.

-fbacklash
שנה את הפרשנות של נטוי אחורי במילולי מחרוזת מאלוכס אחורי בודד
דמות לדמויות בריחה "בסגנון C". השילובים הבאים מורחבים
"\a", "\b", "\f", "\n", "\r", "\t", "\v", "\\", ו-"\0" לתווי ASCII
התראה, רווח אחורה, הזנת טופס, קו חדש, החזרת כרכרה, כרטיסייה אופקית, כרטיסייה אנכית,
נטוי אחורי, ו-NUL, בהתאמה. בנוסף, "\x"nn, "\u"nnnn ואתה"ננננה
(שם כל אחד n הוא ספרה הקסדצימלית) מתורגמים לתווי Unicode
התואמות לנקודות הקוד שצוינו. כל שאר השילובים של דמות
לפנים \ אינם מורחבים.

-fmodule-private
הגדר את נגישות ברירת המחדל של ישויות מודול ל-"PRIVATE". משויך לשימוש
ישויות לא יהיו נגישות אלא אם כן הוכרזו במפורש כ"ציבורי".

-ffixed-line-length-n
הגדר עמודה שלאחריה מתעלמים מתווים בשורות קבועות אופייניות ב-
קובץ המקור, ודרכו מניחים רווחים (כאילו מרופדים באורך זה) לאחריו
הקצוות של קווים קצרים בצורה קבועה.

ערכים פופולריים עבור n כוללים 72 (הסטנדרט וברירת המחדל), 80 (תמונת כרטיס), ו
132 (מקביל לאפשרויות "מקור מורחב" בכמה מהדרים פופולריים). n אולי
גם להיות אף לא אחד, כלומר כל השורה היא בעלת משמעות והדמות המשיכה הזו
לקבועים לעולם לא צורפו להם רווחים מרומזים כדי למלא את השורה.
-ffixed-line-length-0 פירושו אותו דבר כמו -ffixed-line-length-none.

-ffree-line-length-n
הגדר עמודה שאחריה מתעלמים מתווים בשורות טיפוסיות בצורה חופשית במקור
קוֹבֶץ. ערך ברירת המחדל הוא 132. n יכול להיות אף לא אחד, כלומר כל השורה היא
בעל משמעות. -ffree-line-length-0 פירושו אותו דבר כמו -ffree-line-length-none.

-fmax-identifier-length=n
ציין את אורך המזהה המרבי המותר. ערכים אופייניים הם 31 (Fortran 95) ו
63 (Fortran 2003 ו-Fortran 2008).

-פשטני-אין
ציין שלא מותרת הקלדה מרומזת, אלא אם כן היא עוקפת על ידי "IMPLICIT" המפורשת
הצהרות. זה שווה ערך להוספת "אין מרומז" להתחלה של כל
הליך.

-fcray-pointer
הפעל את הרחבה Cray pointer, המספקת פונקציונליות של מצביע דמוי C.

-fopenacc
הפעל את הרחבות OpenACC. זה כולל הנחיות OpenACC "!$acc" בצורה חופשית
והנחיות "c$acc", *$acc ו-"!$acc" בצורה קבועה, קומפילציה מותנית "!$"
זקיפים בצורה חופשית ו-"c$", "*$" ו-"!$" זקיפים בצורה קבועה, ומתי
הקישור מסדר את הקישור של ספריית זמן הריצה של OpenACC.

שים לב שזו תכונה ניסיונית, לא שלמה ונתונה לשינויים בעתיד
גרסאות של GCC. לִרְאוֹתhttps://gcc.gnu.org/wiki/OpenACCלמידע נוסף.

-fopenmp
הפעל את הרחבות OpenMP. זה כולל הנחיות OpenMP "!$omp" בצורה חופשית
והנחיות "c$omp", *$omp ו-"!$omp" בצורה קבועה, "!$" קומפילציה מותנית
זקיפים בצורה חופשית ו-"c$", "*$" ו-"!$" זקיפים בצורה קבועה, ומתי
הקישור מסדר את הקישור של ספריית זמן הריצה של OpenMP. האפשרות -fopenmp
מרמז -frecursive.

-fno-range-check
השבת בדיקת טווח על תוצאות של פישוט של ביטויים קבועים במהלך
הַהדָרָה. לדוגמה, GNU Fortran ייתן שגיאה בזמן הקומפילציה כאשר
מפשט את "a = 1. / 0". עם אפשרות זו, לא תינתן שגיאה ו-"א" יהיה
הוקצה את הערך "+אינסוף". אם ביטוי מוערך לערך מחוץ ל-
הטווח הרלוונטי של ["-HUGE()":"HUGE()"], אז הביטוי יוחלף ב-"-Inf"
או "+Inf" לפי המתאים. באופן דומה, "DATA i/Z'FFFFFFFF'/" יביא למספר שלם
הצפה ברוב המערכות, אבל עם -fno-range-check הערך "יעטוף" ו
"i" יאתחל ל-1 במקום זאת.

-fdefault-integer-8
הגדר את ברירת המחדל של מספר שלם וסוג לוגי לסוג של 8 בתים. גם אפשרות זו
משפיע על סוג קבועי המספרים השלמים כמו 42. בניגוד -finteger-4-integer-8, זה עושה
לא לקדם משתנים עם הצהרת סוג מפורשת.

-fdefault-real-8
הגדר את סוג ברירת המחדל האמיתי לסוג של 8 בתים. אפשרות זו משפיעה גם על סוג
קבועים אמיתיים לא כפולים כמו 1.0, ואכן מקדמים את רוחב ברירת המחדל של "DOUBLE
PRECISION" ל-16 בתים אם אפשר, אלא אם כן ניתן גם "-fdefault-double-8". בניגוד
-freal-4-real-8, הוא אינו מקדם משתנים עם הצהרת סוג מפורשת.

-fdefault-double-8
הגדר את סוג "דיוק כפול" לסוג של 8 בתים. אל תעשה דבר אם זה כבר
ברירת המחדל. אם -fdefault-real-8 נתון, "דיוק כפול" יהיה במקום זאת
מקודם ל-16 בתים אם אפשר, וכן -fdefault-double-8 ניתן להשתמש כדי למנוע זאת.
סוג הקבועים האמיתיים כמו "1.d0" לא ישתנה על ידי -fdefault-real-8 עם זאת,
אז גם -fdefault-double-8 לא משפיע על זה.

-finteger-4-integer-8
קדם את כל הישויות "INTEGER(KIND=4)" לישויות "INTEGER(KIND=8)". אם "KIND=8"
אינו זמין, אז תופיע שגיאה. יש להשתמש באפשרות זו בזהירות
וייתכן שלא יתאים לקודים שלך. תחומי דאגה אפשריים כוללים שיחות אל
נהלים חיצוניים, יישור ב-"EQUIVALENCE" ו/או "COMMON", ממשקים גנריים,
BOZ המרה קבועה מילולית, ו-I/O. בדיקת הביניים
ייצוג של קוד Fortran המתורגם, מיוצר על ידי -fdump-עץ-מקורי, הוא
מוּצָע.

-freal-4-real-8
-freal-4-real-10
-freal-4-real-16
-freal-8-real-4
-freal-8-real-10
-freal-8-real-16
קדם את כל הישויות "REAL(KIND=M)" לישויות "REAL(KIND=N)". אם "REAL(KIND=N)" הוא
לא זמין, אז תונפק שגיאה. כל שאר הסוגים האמיתיים אינם מושפעים
לפי אפשרות זו. יש להשתמש באפשרויות אלו בזהירות וייתכן שלא יתאימו להן
הקודים שלך. תחומי דאגה אפשריים כוללים קריאות לנהלים חיצוניים, יישור
ב-"EQUIVALENCE" ו/או "COMMON", ממשקים גנריים, המרה קבועה מילולית של BOZ,
ו-I/O. בדיקה של ייצוג הביניים של Fortran המתורגם
קוד, מיוצר על ידי -fdump-עץ-מקורי, מוצע.

-std=std
ציין את הסטנדרט שאליו צפויה התוכנית להתאים, שעשוי להיות אחד ממנו
f95, f2003, f2008, גנו, או מורשה. ערך ברירת המחדל עבור std is גנו, אשר מפרט
ערכת על של תקן Fortran 95 הכוללת את כל ההרחבות הנתמכות על ידי
GNU Fortran, אם כי אזהרות יינתנו עבור הרחבות מיושנות שאינן מומלצות
לשימוש בקוד חדש. ה מורשה הערך שווה ערך אך ללא האזהרות עבור
הרחבות מיושנות, ועשויות להיות שימושיות עבור תוכניות ישנות לא סטנדרטיות. ה f95, f2003
ו f2008 הערכים מציינים התאמה קפדנית ל- Fortran 95, Fortran 2003 ו
תקני Fortran 2008, בהתאמה; ניתנות שגיאות עבור כל ההרחבות מעבר ל
תקן השפה הרלוונטי, ואזהרות ניתנות עבור Fortran 77 תכונות זה
מותרים אך מיושנים בתקנים מאוחרים יותר. -std=f2008ts מאפשר את Fortran 2008
תקן כולל התוספות של המפרט הטכני (TS) 29113 על המשך
יכולת פעולה הדדית של Fortran עם C ו-TS 18508 על תכונות מקבילות נוספות ב
פורטרן.

אפשר ו אישית עיבוד מקדים
אפשרויות הקשורות לקדם-מעבד. ראה סעיף עיבוד מוקדם ו מותנה קומפילציה ל
מידע מפורט יותר על עיבוד מקדים ב גפורטרן.

-cpp
-nocpp
אפשר עיבוד מקדים. המעבד המקדים מופעל אוטומטית אם סיומת הקובץ
is .fpp, .FPP, .F, , .FTN, .XXXXX, .XXXXX, .XXXXX or .XXXXX. השתמש באפשרות זו כדי ידנית
אפשר עיבוד מקדים של כל סוג של קובץ Fortran.

כדי להשבית עיבוד מקדים של קבצים עם כל אחת מההרחבות המפורטות לעיל, השתמש ב-
טופס שלילי: -nocpp.

המעבד המקדים מופעל במצב מסורתי. כל הגבלה של פורמט הקובץ,
במיוחד המגבלות על אורך הקו, חלות גם על פלט מעובד מראש, אז זה
אולי מומלץ להשתמש ב -ffree-line-length-none or -ffixed-line-length-none
אפשרויות.

-dM במקום הפלט הרגיל, צור רשימה של הנחיות '#define' עבור כל
פקודות מאקרו שהוגדרו במהלך ביצוע המעבד המקדים, כולל פקודות מאקרו מוגדרות מראש.
זה נותן לך דרך לגלות מה מוגדר מראש בגרסה שלך של
מעבד קדם. בהנחה שאין לך קובץ foo.f90, הפקודה

מגע foo.f90; gfortran -cpp -E -dM foo.f90

יציג את כל המאקרו שהוגדרו מראש.

-dD כמו -dM אלא משני היבטים: הוא אינו כולל את פקודות המאקרו המוגדרות מראש, והוא
מפלט גם את הנחיות "#define" וגם את התוצאה של עיבוד מקדים. שני הסוגים של
פלט עבור לקובץ הפלט הסטנדרטי.

-dN כמו -dD, אבל פולט רק את שמות המאקרו, לא את ההרחבות שלהם.

-dU כמו dD אלא שרק פקודות מאקרו מורחבות, או שהגדרתן נבדקת בהן
הנחיות קדם-מעבד, הן פלט; הפלט מתעכב עד לשימוש או לבדיקה של
המאקרו; הנחיות ו'#undef' מופקות גם עבור פקודות מאקרו שנבדקו אך לא מוגדרות ב-
הזמן.

-די פלט הנחיות '#include' בנוסף לתוצאה של עיבוד מקדים.

-fworking-מדריך
אפשר יצירה של סמני קווים בפלט הפרה-מעבד שיאפשרו למהדר
לדעת את ספריית העבודה הנוכחית בזמן העיבוד המקדים. כאשר אפשרות זו היא
מופעלת, המעבד המקדים יפלוט, לאחר סמן הקו הראשוני, סמן קו שני
עם ספריית העבודה הנוכחית ואחריה שני קווים. GCC ישתמש בזה
ספרייה, כאשר היא קיימת בקלט המעובד מראש, כמו הספרייה שנפלטה כ
ספריית העבודה הנוכחית בחלק מהפורמטים של מידע איתור באגים. אפשרות זו היא
מופעל באופן מרומז אם מידע ניפוי באגים מופעל, אך ניתן למנוע זאת באמצעות
הצורה השלילה -fno-working-directory. אם -P דגל קיים בפקודה
שורה, לאפשרות זו אין השפעה, מכיוון שלא נפלטו הנחיות "#line" כלשהן.

-ידirafter dir
חיפוש dir עבור קבצי include, אך עשה זאת לאחר כל הספריות שצוינו עם -I ו
ספריות המערכת הסטנדרטיות מוצו. dir מתייחסים אליו כאל מערכת
כולל ספרייה. אם dir מתחיל ב-=", אז ה-"=" יוחלף ב-
קידומת sysroot; לִרְאוֹת --sysroot ו -isysroot.

-אימולטיבי dir
השתמש dir כספריית משנה של הספרייה המכילה כותרות C++ ספציפיות ליעד.

-iprefix קידומת
לפרט קידומת בתור הקידומת עבור הבאות -iwithprefix אפשרויות. אם ה קידומת
מייצג ספרייה, עליך לכלול את ה-'/' הסופי.

-isysroot dir
אפשרות זו היא כמו ה --sysroot אפשרות, אך חלה רק על קובצי כותרת. ראה את
--sysroot אפשרות למידע נוסף.

-אני מצטט dir
חיפוש dir רק עבור קבצי כותרת שהתבקשו עם "#include "file""; הם לא
חיפש את "#include ", לפני כל המדריכים שצוינו על ידי -I ולפני
ספריות מערכת סטנדרטיות. אם dir מתחיל ב-"=", ואז ה-"=" יוחלף ב-
קידומת ה-sysroot; לִרְאוֹת --sysroot ו -isysroot.

-מערכת dir
חיפוש dir עבור קובצי כותרות, לאחר כל הספריות שצוינו על ידי -I אבל לפני
ספריות מערכת סטנדרטיות. סמן אותו כספריית מערכת, כך שהוא יקבל אותו דבר
טיפול מיוחד כפי שמיושם על ספריות המערכת הסטנדרטיות. אם dir מתחיל עם
"=", אז ה-"=" יוחלף בקידומת sysroot; לִרְאוֹת --sysroot ו -isysroot.

-נוסטדינק
אל תחפש בספריות המערכת הסטנדרטיות עבור קבצי כותרות. רק המדריכים
שציינת עם -I אפשרויות (והספרייה של הקובץ הנוכחי, אם
מתאים) מחפשים.

-undef
אל תגדיר מראש פקודות מאקרו ספציפיות למערכת או GCC ספציפיות. התקן שהוגדר מראש
פקודות מאקרו נשארות מוגדרות.

-Aלְבַסֵס=לענות
קבע טענה עם הפרדיקט לְבַסֵס ותענה לענות. טופס זה הוא
העדיפו את הצורה הישנה יותר -A predicate(תשובה), שעדיין נתמכת בגלל זה
אינו משתמש בתווים מיוחדים של מעטפת.

-א-לְבַסֵס=לענות
בטל טענה עם הפרדיקט לְבַסֵס ותענה לענות.

-C אל תבטל הערות. כל ההערות מועברות לקובץ הפלט, למעט
להערות בהנחיות מעובדות, שנמחקות יחד עם ההוראה.

אתה צריך להיות מוכן לתופעות לוואי בעת השימוש -C; זה גורם למעבד הקדם
להתייחס להערות כאל אסימונים בפני עצמם. לדוגמה, הערות המופיעות ב-
התחלה של מה שיהיה קו הנחיה משפיעה להפוך את הקו הזה ל-an
שורת מקור רגילה, מכיוון שהאסימון הראשון בשורה אינו עוד '#'.

אזהרה: כרגע זה מטפל בהערות C-Style בלבד. המעבד המקדים עדיין לא
לזהות הערות בסגנון Fortran.

-CC אין להשליך הערות, כולל במהלך הרחבת מאקרו. זה כמו -C, מלבד
שההערות הכלולות בפקודות מאקרו מועברות גם לקובץ הפלט שבו
המאקרו מורחב.

בנוסף לתופעות הלוואי של -C אפשרות, -CC אפשרות גורמת לכל סגנון C++
הערות בתוך מאקרו להמרה להערות בסגנון C. זאת כדי למנוע מאוחר יותר
שימוש במאקרו הזה מהערה בשוגג על שאר שורת המקור.
-CC האופציה משמשת בדרך כלל לתמיכה בהערות מוך.

אזהרה: זה כרגע מטפל בהערות C- ו-C++-Style בלבד. המעבד המקדים כן
עדיין לא מזהה הערות בסגנון Fortran.

-Dשם
הגדר מראש את השם כמאקרו, עם הגדרה 1.

-Dשם=הגדרה
התוכן של הגדרה מסומנים ומעובדים כאילו הופיעו במהלך
תרגום שלב שלישי בהנחיית '#define'. בפרט, ההגדרה תהיה
יקוצץ על ידי תווי קו חדש מוטבעים.

אם אתה מפעיל את המעבד מראש מתוכנית מעטפת או דמוית מעטפת, ייתכן שתצטרך
להשתמש בתחביר הציטוטים של המעטפת כדי להגן על תווים כגון רווחים שיש להם א
משמעות בתחביר המעטפת.

אם ברצונך להגדיר מאקרו דמוי פונקציה בשורת הפקודה, כתוב את הארגומנט שלו
רשימה עם סוגריים מסביב לפני סימן השוויון (אם יש). סוגריים הם
משמעותי לרוב הפגזים, אז תצטרך לצטט את האפשרות. עם sh ו-csh,
"-D'name(args...)=definition'" עובד.

-D ו -U האפשרויות מעובדות לפי הסדר שהן ניתנות בשורת הפקודה. את כל
אפשרויות -imacros file ו-include file מעובדות לאחר כל אפשרויות -D ו-U.

-H הדפס את השם של כל קובץ כותרת בשימוש, בנוסף לפעילויות רגילות אחרות. כל אחד
השם מוארך כדי להראות כמה עמוק בערימת '#include' הוא נמצא.

-P עיכוב יצירת סמני קווים בפלט מהקדם-מעבד. זה יכול להיות
שימושי בעת הפעלת הפרה-מעבד על משהו שאינו קוד C, ויישלח
לתוכנית שעלולה להתבלבל על ידי סמני הקו.

-Uשם
בטל כל הגדרה קודמת של שם, מובנה או מסופק עם א -D אוֹפְּצִיָה.

אפשרויות ל לבקש or לדכא שגיאות ו אזהרות
שגיאות הן הודעות אבחון המדווחות כי המהדר של GNU Fortran אינו יכול להדר
קטע קוד המקור הרלוונטי. המהדר ימשיך לעבד את התוכנית ב
ניסיון לדווח על שגיאות נוספות כדי לסייע באיתור באגים, אך לא ייצור אף קומפילציה
פלט.

אזהרות הן הודעות אבחון המדווחות על מבנים שאינם מטבעם
שגויים אך מסוכנים או מרמזים על כך שיש באג בתוכנית.
אֶלָא אִם -שגיאה צוין, הם אינם מונעים הידור של התוכנית.

אתה יכול לבקש אזהרות ספציפיות רבות עם אפשרויות שמתחילות -W, למשל - מרומז
לבקש אזהרות על הצהרות מרומזות. גם כל אחת מאפשרויות האזהרה הספציפיות הללו
יש צורה שלילית מתחילה -לא- לבטל אזהרות; לדוגמה, -לא מרומז.
מדריך זה מפרט רק אחד משני הטפסים, מה שאינו ברירת המחדל.

אפשרויות אלה שולטות בכמות וסוגי השגיאות והאזהרות המיוצרות על ידי GNU Fortran:

-fmax-errors=n
מגביל את המספר המרבי של הודעות שגיאה ל n, ובשלב זה GNU Fortran מחלץ
במקום לנסות להמשיך ולעבד את קוד המקור. אם n הוא 0, אין
הגבלה על מספר הודעות השגיאה המופקות.

-fsyntax-בלבד
בדוק את הקוד לאיתור שגיאות תחביר, אך אל תקמפל אותו בפועל. זה ייצור
קובצי מודול עבור כל מודול הקיים בקוד, אך אין קובץ פלט אחר.

-קַפְּדָנִי
פרסם אזהרות לשימושים בהרחבות ל-Fortran 95. -קַפְּדָנִי חל גם על
מבנים בשפת C היכן שהם מתרחשים בקובצי מקור של GNU Fortran, כגון שימוש ב \e
בקבוע תו בתוך הוראה כמו "#include".

תוכניות תקפות של Fortran 95 צריכות להדר כראוי עם או בלי אפשרות זו.
עם זאת, ללא אפשרות זו, הרחבות מסוימות של GNU ותכונות Fortran מסורתיות
נתמכים גם כן. עם אפשרות זו, רבים מהם נדחים.

חלק מהמשתמשים מנסים להשתמש -קַפְּדָנִי כדי לבדוק את התאימות של תוכניות. בקרוב הם מוצאים
שזה לא עושה בדיוק מה שהם רוצים --- זה מוצא כמה פרקטיקות לא סטנדרטיות, אבל
לא הכל. עם זאת, שיפורים ל-GNU Fortran בתחום זה יתקבלו בברכה.

יש להשתמש בזה בשילוב עם -std=f95, -std=f2003 or -std=f2008.

-פדנטיות-טעויות
כמו -קַפְּדָנִי, אלא שמופקות שגיאות ולא אזהרות.

- קיר
מאפשר אפשרויות אזהרה נפוצות הנוגעות לשימוש שאנו ממליצים להימנע מהם
ושאנחנו מאמינים שקל להימנע מהם. זה כולל כרגע -וליה,
-וומפרסנד, -המרה, - מפתיע, -סוג Wc-binding, -Wintrinsics-std,
-לא-כרטיסיות, -צללית חורף, -קיצור Wline, -משך חיים יעד, -Wreal-q-constant
ו -לא בשימוש.

-וליה
הזהר לגבי כינוי אפשרי של טיעוני דמה. באופן ספציפי, זה מזהיר אם זהה
ארגומנט בפועל משויך לארגומנט דמה עם "INTENT(IN)" ודמה
ארגומנט עם "INTENT(OUT)" בקריאה עם ממשק מפורש.

הדוגמה הבאה תפעיל את האזהרה.

ממשק
סרגל תת-שגרה(a,b)
מספר שלם, כוונה(ב) :: א
מספר שלם, כוונה(חוץ) :: ב
לסיים תת שגרה
ממשק קצה
מספר שלם :: א

סרגל שיחות (א, א)

-וומפרסנד
אזהרה לגבי חסר אמפרסנד בקבועי התווים המתמשכים. האזהרה ניתנת
עם -וומפרסנד, -קַפְּדָנִי, -std=f95, -std=f2003 ו -std=f2008. הערה: עם לא
אמפרסנד נתון בקבוע תו מתמשך, GNU Fortran מניח המשך ב
התו הראשון ללא הערות, ללא רווח לבן לאחר האמפרסנד שיזם את
הֶמְשֵׁך.

-מלחמה-זמניים
התריע על זמני מערך שנוצר על ידי המהדר. המידע שנוצר על ידי
אזהרה זו שימושית לפעמים באופטימיזציה, כדי למנוע זמניים כאלה.

-סוג Wc-binding
אזהרה אם יתכן שהמשתנה לא יכול לפעול הדדית מסוג C. בפרט, הזהיר אם
משתנה הוכרז באמצעות סוג פנימי עם סוג ברירת מחדל במקום שימוש
פרמטר סוג שהוגדר עבור יכולת פעולה הדדית C ב"ISO_C_Binding" המהותי
מודול. אפשרות זו משתמעת מ - קיר.

-חיתוך תו
אזהרה כאשר הקצאת תו תקצר את המחרוזת שהוקצתה.

-קיצור Wline
אזהרה כאשר שורת קוד מקור תקוצר. אפשרות זו משתמעת מ - קיר. פורום
קוד מקור בצורה חופשית, ברירת המחדל היא -שגיאה=קיצור שורה כזה שקטועים
מדווחים כשגיאה.

-המרה
אזהרה מפני המרות מרומזות שסביר להניח שישנו את ערך הביטוי
לאחר ההמרה. נרמז על ידי - קיר.

-Wconversion-extra
הזהיר מפני המרות מרומזות בין סוגים וסוגים שונים. אפשרות זו כן
לֹא לִרְמוֹז -המרה.

אקסטרה
מאפשר כמה אפשרויות אזהרה לשימוש בתכונות שפה שעלולות להיות בעייתיות.
זה כולל כרגע -השוו-ריאלים ו -פרמטר Wunused.

-ממשק סתמי
אזהרה אם נקרא הליך ללא ממשק מפורש. שימו לב שזה רק בדיקות
שקיים ממשק מפורש. זה לא בודק שהממשקים המוצהרים מתממשים
עקביים בין יחידות התוכנית.

-פרוצדורה גלויה
אזהרה אם נקרא הליך שאין לו ממשק מפורש וגם לא היה
הוכרז כ"חיצוני".

-Wintrinsics-std
הזהיר אם גפורטרן מוצא הליך בשם כמו מהותי שאינו זמין ב-
תקן שנבחר כעת (עם -סטד) ומתייחס אליו כאל הליך "חיצוני" מכיוון
של זה. - סתיו-הטבעות ניתן להשתמש כדי לעולם לא להפעיל התנהגות זו ותמיד לקשר
אל המהותי ללא קשר לסטנדרט הנבחר.

-Wreal-q-constant
הפק אזהרה אם קבוע-ממשי-מילולי מכיל אות מעריך "q".

- מפתיע
הפק אזהרה כאשר נתקלים בבניות קוד "חשודות". בזמן
מבחינה טכנית, אלה בדרך כלל מעידים על כך שנעשתה שגיאה.

זה מייצר כרגע אזהרה בנסיבות הבאות:

* למבנה INTEGER SELECT יש CASE שלעולם לא ניתן להתאים אותו לתחתון שלו
הערך גדול מהערך העליון שלו.

* למבנה LOGICAL SELECT יש שלושה הצהרות CASE.

* TRANSFER מציין מקור שהוא קצר מהיעד.

* סוג תוצאת הפונקציה מוצהר יותר מפעם אחת עם אותו סוג. אם
-קַפְּדָנִי או שמצב תואם תקן מופעל, זו שגיאה.

* משתנה "CHARACTER" מוכרז באורך שלילי.

-Wtabs
כברירת מחדל, כרטיסיות מתקבלות כרווח לבן, אבל כרטיסיות אינן חברות ב-Fortran
סט תווים. עבור שורות המשך, טאב ואחריו ספרה בין 1 ל-9 היא
נתמך. -Wtabs יגרום להנפקת אזהרה אם תתקל בכרטיסייה. הערה,
-Wtabs פעיל עבור -קַפְּדָנִי, -std=f95, -std=f2003, -std=f2008, -std=f2008ts ו
- קיר.

-זרימת פלאות
הפק אזהרה כאשר נתקלים בביטויים קבועים מספריים, המניבים an
UNDERFLOW במהלך הידור. מופעל כברירת מחדל.

-צללית חורף
אזהרה אם לפרוצדורה מוגדרת על ידי משתמש או להליך מודול יש שם זהה ל-
פְּנִימִי; במקרה זה, ממשק מפורש או "EXTERNAL" או "INTRINSIC"
ייתכן שיהיה צורך בהצהרה כדי לקבל שיחות מאוחרות יותר לפתרון הרצוי
מהותי/הליך. אפשרות זו משתמעת מ - קיר.

-Wuse-בלי-בלבד
אזהרה אם להצהרת "USE" אין ערך "ONLY" ולכן מייבאת באופן מרומז את הכל
ישויות ציבוריות של המודול בשימוש.

-טיעון-דמה לא בשימוש
הזהר מפני טיעוני דמה שאינם בשימוש. אפשרות זו משתמעת מ - קיר.

-פרמטר Wunused
בניגוד ל gccהמשמעות של -פרמטר Wunused, גפורטרןהיישום של זה
option אינו מזהיר מפני ארגומנטים דמה שאינם בשימוש (ראה -טיעון-דמה לא בשימוש), אבל
על ערכי "PARAMETER" שאינם בשימוש. -פרמטר Wunused משתמע על ידי אקסטרה אם גם
-לא בשימוש or - קיר משמש.

-Walign-commons
כברירת מחדל, גפורטרן מתריע על כל אירוע של ריפוד משתנים כראוי
יישור בתוך בלוק "COMMON". ניתן לכבות את האזהרה הזו באמצעות
-Wno-align-commons. ראה גם -falign-commons.

-חיסול Wfunction
הזהר אם קריאות כלשהן לפונקציות בוטלו על ידי האופטימיזציות המופעלות על ידי
-ffrontend-optimize אוֹפְּצִיָה.

-Wrealloc-lhs
אזהרה כאשר המהדר עשוי להכניס קוד להקצאה או הקצאה מחדש של
משתנה מערך הניתן להקצאה מסוג מהותי בהקצאות פנימיות. בלולאות חמות,
תכונת ההקצאה מחדש של Fortran 2003 עשויה להפחית את הביצועים. אם המערך הוא
כבר הוקצו עם הצורה הנכונה, שקול להשתמש במפרט מערך שלם
(למשל "(:,:,:)") עבור המשתנה בצד שמאל כדי למנוע את ההקצאה מחדש
חשבון. שימו לב שבמקרים מסוימים האזהרה מוצגת, גם אם המהדר יעשה זאת
בצע אופטימיזציה של המחאות של הקצאה מחדש. למשל, כאשר הצד הימני מכיל
אותו משתנה כפול בסקלר. ראה גם -frealloc-lhs.

-Wrealloc-lhs-all
התריע כאשר המהדר מוסיף קוד עבור הקצאה או הקצאה מחדש של an
משתנה ניתן להקצאה; זה כולל סקלרים וסוגים נגזרים.

-השוו-ריאלים
הזהר בעת השוואת סוגים אמיתיים או מורכבים למען שוויון או אי שוויון. אפשרות זו היא
נרמז על ידי אקסטרה.

-משך חיים יעד
אזהרה אם המצביע בהקצאת מצביע עשוי להיות ארוך מהיעד שלו. זֶה
אפשרות משתמעת מ - קיר.

-Wzerotrip
אזהרה אם ידוע שלולאת "DO" מבוצעת אפס פעמים בזמן ההידור. אפשרות זו היא
נרמז על ידי - קיר.

-שגיאה
הופך את כל האזהרות לשגיאות.

לחלקם אין השפעה בעת קומפילציה של תוכניות שנכתבו ב-Fortran.

אפשרויות ל ניפוי שֶׁלְךָ התוכנית or גנה פורטרן
ל-GNU Fortran יש אפשרויות מיוחדות שונות המשמשות לאיתור באגים בתוכנית שלך או
מהדר GNU Fortran.

-fdump-fortran-original
פלט את עץ הניתוח הפנימי לאחר תרגום תוכנית המקור לתוך פנימי
יִצוּג. שימושי באמת רק עבור איתור באגים של מהדר GNU Fortran עצמו.

-fdump-fortran מותאם
פלט את עץ הניתוח לאחר אופטימיזציה של הקצה הקדמי. ממש שימושי רק לניפוי באגים
מהדר GNU Fortran עצמו.

-fdump-נתח-עץ
פלט את עץ הניתוח הפנימי לאחר תרגום תוכנית המקור לתוך פנימי
יִצוּג. שימושי באמת רק עבור איתור באגים של מהדר GNU Fortran עצמו.
אפשרות זו הוצאה משימוש; השתמש ב-"-fdump-fortran-original" במקום זאת.

-ffpe-trap=רשימה
ציין רשימה של מלכודות חריגות של נקודה צפה להפעלה. ברוב המערכות, אם א
מתרחש חריג של נקודה צפה והמלכודת עבור חריגה זו מופעלת, SIGFPE
יישלח אות והתוכנית תבוטל, וייצור קובץ ליבה שימושי עבור
ניפוי באגים. רשימה היא רשימה (אולי ריקה) מופרדת בפסיקים של הדברים הבאים
חריגים: חוקי (פעולת נקודה צפה לא חוקית, כגון "SQRT(-1.0)"), אפס
(חלוקה באפס), הצפה (הצפה בפעולת נקודה צפה), תת זרימה
(תת זרימה בפעולת נקודה צפה), לֹא מְדוּיָק (אובדן דיוק במהלך
פעולה), ו לא נורמלי (פעולה מבוצעת על ערך לא תקין). חמשת הראשונים
חריגים תואמים לחמשת החריגים של IEEE 754, ואילו האחרון (לא נורמלי)
אינו חלק מתקן IEEE 754 אך זמין בחלק מהארכיטקטורות הנפוצות
כגון x86.

שלושת החריגים הראשונים (חוקי, אפס, ו הצפה) לעתים קרובות מצביעים על רציני
שגיאות, אלא אם כן לתוכנית יש הוראות להתמודדות עם חריגים אלה,
הפעלת מלכודות עבור שלושת החריגים הללו היא כנראה רעיון טוב.

רבות, אם לא רובן, פעולות נקודה צפה גורמות לאובדן דיוק עקב עיגול,
ומכאן שה-"ffpe-trap=לא מדויק" עשוי להיות לא מעניין בפועל.

כברירת מחדל, אין מלכודות חריגות מופעלות.

-ffpe-summary=רשימה
ציין רשימה של חריגים בנקודה צפה, שסטטוס הדגל שלהם מודפס
"ERROR_UNIT" בעת הפעלת "STOP" ו-"ERROR STOP". רשימה יכול להיות גם אף לא אחד, את כל או
רשימה מופרדת בפסיקים של החריגים הבאים: חוקי, אפס, הצפה, תת זרימה,
לֹא מְדוּיָק ו לא נורמלי. (ראה -ffpe-מלכודת לתיאור החריגים.)

כברירת מחדל, סיכום עבור כל החריגים אבל לֹא מְדוּיָק מוצג.

-fno-backtrace
כאשר נתקלת בשגיאת זמן ריצה חמורה או שנפלט אות קטלני
(תקלת פילוח, הוראה לא חוקית, שגיאת אוטובוס, חריג נקודה צפה, וה
אותות POSIX אחרים שיש להם את הפעולה הליבה), ספריית זמן הריצה של Fortran מנסה לעשות זאת
פלט מעקב לאחור של השגיאה. "-fno-backtrace" משבית את יצירת ה-backtrace.
אפשרות זו משפיעה רק על הידור של התוכנית הראשית של Fortran.

אפשרויות ל בספרייה search
אפשרויות אלה משפיעות על האופן שבו GNU Fortran מחפש קבצים שצוינו ב-"INCLUDE"
ההוראה והיכן הוא מחפש מודולים שהורכבו בעבר.

זה משפיע גם על נתיבי החיפוש שבהם משתמשים cpp כאשר משתמשים בו לעיבוד מקדים של מקור Fortran.

-Idir
אלה משפיעים על הפרשנות של הנחיית "INCLUDE" (כמו גם של "#include"
הוראת ה cpp מעבד קדם).

שימו לב גם שההתנהגות הכללית של -I ו-"INCLUDE" זהה בערך לשל
-I עם "#include" ב- cpp מעבד קדם, לגבי חיפוש header.gcc
קבצים ועוד דברים כאלה.

נתיב זה משמש גם לחיפוש .mod קבצים כאשר מודולים שהורכבו בעבר
נדרש בהצהרת "USE".

-Jdir
אפשרות זו מציינת היכן לשים .mod קבצים עבור מודולים מורכבים. זה גם מתווסף
לרשימת הספריות שאליהן יש לחפש באמצעות הצהרת "USE".

ברירת המחדל היא הספרייה הנוכחית.

-פינטרינס-מודולים-נתיב dir
אפשרות זו מציינת את המיקום של מודולים פנימיים שהורכבו מראש, אם לא
במיקום ברירת המחדל המצופה מהמהדר.

משפיעים מה היא מְקַשֵׁר צעד
אפשרויות אלו באות לידי ביטוי כאשר המהדר מקשר קבצי אובייקט לקובץ הפעלה
קובץ פלט. הם חסרי משמעות אם המהדר לא עושה שלב קישור.

-static-libgfortran
על מערכות המספקות ליבגפורטן כספרייה משותפת וסטטית, אפשרות זו
מאלץ את השימוש בגרסה הסטטית. אם אין גרסה משותפת של ליבגפורטן נבנה
כאשר המהדר הוגדר, לאפשרות זו אין השפעה.

משפיעים זמן ריצה התנהגות
אפשרויות אלה משפיעות על התנהגות זמן הריצה של תוכניות הידור עם GNU Fortran.

-fconvert=המרה
ציין את ייצוג הנתונים עבור קבצים לא מעוצבים. ערכים חוקיים להמרה
הם: יליד, ברירת המחדל; להחליף, להחליף בין big- ו-litt-endian; אנדיאן גדול, להשתמש
ייצוג גדול לקבצים לא מעוצבים; אנדיאני קטן, השתמש ב-little-endian
ייצוג לקבצים לא מעוצבים.

זֶה אוֹפְּצִיָה יש ל an השפעה רק מתי מְשׁוּמָשׁ in מה היא ראשי תכנית. "להמיר" -
ו מה היא GFORTRAN_CONVERT_UNIT סביבה משתנה לעקוף מה היא ברירת מחדל מפורט by
-fconvert.

-frecord-marker=אורך
ציין את אורך סמני הרשומות עבור קבצים לא מעוצבים. ערכים חוקיים עבור אורך
הם 4 ו-8. ברירת המחדל היא 4. זֶה is אחר החל מ- קודם גירסאות of גפורטרן,
אשר ציין אורך ברירת מחדל של סמן רשומות של 8 ברוב המערכות. אם אתה רוצה
קריאה או כתיבה של קבצים התואמים לגרסאות קודמות של גפורטרן, להשתמש
-frecord-marker=8.

-fmax-subrecord-length=אורך
ציין את האורך המרבי עבור רשומת משנה. הערך המרבי המותר לאורך הוא
2147483639, שהיא גם ברירת המחדל. רק שימושי באמת לשימוש על ידי gfortran
חבילת בדיקות.

-fסימן-אפס
כאשר מופעל, נכתבים מספרי נקודה צפה של ערך אפס עם ערכת סיביות הסימן
כמספר שלילי בפלט מעוצב ומטופל כשלילי ב-"SIGN"
פְּנִימִי. -fno-סימן-אפס אינו מדפיס את הסימן השלילי של ערכים אפס (או ערכים
מעוגל לאפס עבור I/O) ומתייחס לאפס כמספר חיובי ב"SIGN" מהותי
עבור תאימות עם Fortran 77. ברירת המחדל היא -fסימן-אפס.

אפשרויות ל קוד דור אמנות
אפשרויות אלו שאינן תלויות במכונה שולטות במוסכמות הממשק המשמשות בקוד
דוֹר.

לרובם יש צורות חיוביות ושליליות כאחד; הצורה השלילית של -ffoo יהיה
-fno-foo. בטבלה למטה, רק אחד מהטפסים רשום --- זה שאינו
בְּרִירַת מֶחדָל. אתה יכול להבין את הטופס האחר על ידי הסרה לא- או הוספתו.

-fno-אוטומטי
התייחס לכל יחידת תוכנית (למעט אלו המסומנות כ-RECURSIVE) כאילו הצהרת "SAVE".
צוינו עבור כל משתנה ומערך מקומי שהתייחסו אליו. לא משפיע
בלוקים נפוצים. (כמה מהדרים של Fortran מספקים אפשרות זו תחת השם -סטָטִי or
-לשמור.) ברירת המחדל, כלומר -fאוטומטי, משתמש בערימה עבור משתנים מקומיים קטנים יותר
מהערך שניתן על ידי -fmax-stack-var-size. השתמש באפשרות -frecursive להשתמש לא
זיכרון סטטי.

-ff2c
צור קוד שנועד להיות תואם לקוד שנוצר על ידי g77 ו f2c.

מוסכמות השיחות המשמשות את g77 (מיושם במקור ב f2c) דורשים פונקציות
ברירת המחדל של סוג ההחזרה היא "REAL" כדי להחזיר את סוג C "כפול", ופונקציות
זה מחזיר סוג "COMPLEX" כדי להחזיר את הערכים באמצעות ארגומנט נוסף בקריאה
רצף שמצביע לאן לאחסן את ערך ההחזרה. תחת ברירת המחדל של GNU
קורא מוסכמות, פונקציות כאלה פשוט מחזירות את התוצאות שלהן כפי שהיו מחזירות ב-GNU
C --- פונקציות ברירת מחדל "REAL" מחזירות את סוג C "צף", ופונקציות "COMPLEX" מחזירות
מסוג GNU C "מורכב". בנוסף, אפשרות זו מרמזת על -fsecond-קו תחתון
אפשרות, אלא אם כן -fno-שני-קו תחתון מתבקש במפורש.

זה לא משפיע על יצירת הקוד שמתממשק עם ליבגפורטן
סִפְרִיָה.

זְהִירוּת: זה לא רעיון טוב לערבב איתו קוד Fortran -ff2c עם קוד
הידור עם ברירת המחדל -fno-f2c קורא למוסכמות כמו, קורא "COMPLEX" או
ברירת מחדל "REAL" פונקציות בין חלקי תוכנית אשר הידור עם שונה
מוסכמות שיחות ישברו בזמן הביצוע.

זְהִירוּת: זה ישבור קוד שמעביר פונקציות פנימיות מסוג ברירת המחדל "REAL"
או "COMPLEX" כטיעונים ממשיים, שכן יישומי הספרייה משתמשים ב- -fno-f2c
קריאה לכנסים.

-fno-הדגשה
אין לשנות שמות של ישויות שצוינו בקובץ המקור של Fortran על ידי הוספה
מדגיש להם.

עם -ניקוד מימון למעשה, GNU Fortran מוסיף קו תחתון אחד לשמות חיצוניים
ללא קווים תחתונים. זה נעשה כדי להבטיח תאימות עם קוד המיוצר על ידי רבים
מהדרים של UNIX Fortran.

זהירות: התנהגות ברירת המחדל של GNU Fortran אינה תואמת f2c ו g77, אנא
להשתמש -ff2c אפשרות אם ברצונך שקובצי אובייקט הידור עם GNU Fortran יהיו
תואם לקוד אובייקט שנוצר עם כלים אלה.

שימוש -fno-הדגשה לא מומלץ אלא אם אתה מתנסה בבעיות
כגון שילוב של GNU Fortran בסביבות מערכת קיימות (מול-a-vis
ספריות קיימות, כלים וכן הלאה).

לדוגמה, עם -ניקוד מימון, ובהנחה ש-"j()" ו-"max_count()" הם
פונקציות חיצוניות בעוד "my_var" ו-"lvar" הם משתנים מקומיים, משפט כמו

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

מיושם כמשהו הדומה ל:

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

עם -fno-הדגשה, אותה הצהרה מיושמת כ:

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

שימוש -fno-הדגשה מאפשר מפרט ישיר של שמות המוגדרים על ידי המשתמש בעוד
איתור באגים ובעת התממשקות קוד GNU Fortran עם שפות אחרות.

שימו לב שרק בגלל שהשמות תואמים כן לֹא מתכוון שהממשק מיושם על ידי
GNU Fortran עבור שם חיצוני תואם לממשק מיושם על ידי מישהו אחר
שפה עבור אותו שם. כלומר, קבלת קוד שמיוצר על ידי GNU Fortran לקשר אליו
קוד שהופק על ידי מהדר אחר באמצעות שיטה זו או אחרת יכול להיות רק a
חלק קטן מהפתרון הכולל --- קבלת הקוד שנוצר על ידי שני המהדרים
להסכים בנושאים אחרים מלבד מתן שמות יכולים לדרוש מאמץ משמעותי, ובניגוד למתן שמות
חילוקי דעות, מקשרים בדרך כלל אינם יכולים לזהות אי הסכמות בתחומים אחרים אלה.

כמו כן, שים לב שעם -fno-הדגשה, היעדר קווים תחתונים מצורפים מציג
האפשרות האמיתית מאוד ששם חיצוני המוגדר על ידי המשתמש יתנגש עם שם
בספריית מערכת, מה שיכול להפוך את מציאת באגי הפניה לא פתורים למדי
קשה במקרים מסוימים --- הם עשויים להתרחש בזמן ריצת התוכנית, ולהופיע רק בתור
התנהגות באגי בזמן ריצה.

בגרסאות עתידיות של GNU Fortran אנו מקווים לשפר בעיות שמות וקישור כך
איתור באגים תמיד כרוך בשימוש בשמות כפי שהם מופיעים במקור, גם אם
שמות כפי שנראים על ידי המקשר מעוותים כדי למנוע קישור מקרי ביניהם
נהלים עם ממשקים לא תואמים.

-fsecond-קו תחתון
כברירת מחדל, GNU Fortran מוסיף קו תחתון לשמות חיצוניים. אם אפשרות זו היא
בשימוש GNU Fortran מוסיף שני קווים תחתונים לשמות עם קו תחתון וקו תחתון אחד
לשמות חיצוניים ללא קווים תחתונים. GNU Fortran מוסיף גם שני קווים תחתונים
שמות פנימיים עם קווים תחתונים כדי למנוע התנגשויות שמות עם שמות חיצוניים.

לאפשרות זו אין השפעה אם -fno-הדגשה בתוקף. זה משתמע מה-
-ff2c אוֹפְּצִיָה.

אחרת, עם אפשרות זו, שם חיצוני כגון "MAX_COUNT" מיושם בתור
התייחסות לסמל החיצוני בזמן הקישור "max_count__", במקום "max_count_".
זה נדרש עבור תאימות עם g77 ו f2c, ומשתמע מהשימוש ב-
-ff2c אוֹפְּצִיָה.

-fcoarray=
אף לא אחד
השבת תמיכה ב-coarray; באמצעות הצהרות סתומות והצהרות בקרת תמונה
יפיק שגיאת זמן קומפילציה. (בְּרִירַת מֶחדָל)

יחיד
מצב תמונה בודדת, כלומר "num_images()" הוא תמיד אחד.

lib מקבילה עגום מבוססת ספרייה; ספריית גנו Fortran coarray מתאימה
צריך להיות מקושר.

-fcheck=
אפשר יצירת בדיקות זמן ריצה; הטיעון יהיה רשימה מופרדת בפסיקים
מבין מילות המפתח הבאות.

את כל אפשר את כל בדיקות זמן הריצה של -fcheck.

מערך-טמפרטורות
מזהיר בזמן ריצה כאשר לצורך העברת טיעון בפועל צריך להיות מערך זמני
נוצר. המידע שנוצר על ידי אזהרה זו הוא לפעמים שימושי ב
אופטימיזציה, כדי למנוע זמניים כאלה.

הערה: האזהרה מודפסת רק פעם אחת בכל מקום.

גבולות
אפשר יצירת בדיקות זמן ריצה עבור ערכי מנוי ומול המוצהרים
ערכי מינימום ומקסימום. זה גם בודק את מדדי המערך עבור הנחות ונדחות
מערכי צורות מול הגבולות שהוקצו בפועל ומבטיחה שכל המחרוזת
אורכים שווים עבור בוני מערך תווים ללא מפרט טיפוס מפורש.

חלק מהבדיקות דורשות זאת -fcheck=גבולות מוגדר להידור הראשי
תכנית.

הערה: בעתיד זה עשוי לכלול גם צורות אחרות של בדיקה, למשל בדיקה
הפניות למחרוזות משנה.

do אפשר יצירת בדיקות זמן ריצה לשינוי לא חוקי של איטרציה של לולאה
משתנים.

מ אפשר יצירת בדיקות זמן ריצה להקצאת זיכרון. הערה: אפשרות זו
אינו משפיע על הקצאות מפורשות באמצעות הצהרת "ALLOCATE", אשר תהיה
תמיד נבדק.

מצביע
אפשר יצירת בדיקות זמן ריצה עבור מצביעים וניתנים להקצאה.

רקורסיה
אפשר יצירת בדיקות זמן ריצה עבור תת-שגרות הנקראות רקורסיביות ו
פונקציות שאינן מסומנות כרקורסיביות. ראה גם -frecursive. הערה: זה
check לא עובד עבור תוכניות OpenMP והוא מושבת אם נעשה בו שימוש יחד עם
-frecursive ו -fopenmp.

-fbounds-check
כינוי שהוצא משימוש עבור -fcheck=גבולות.

-fcheck-array-זמניים
כינוי שהוצא משימוש עבור -fcheck=מערך-טמפ'.

-fmax-array-constructor=n
ניתן להשתמש באפשרות זו כדי להגדיל את הגבול העליון המותר בבוני מערך.
הקוד שלהלן דורש אפשרות זו כדי להרחיב את המערך בזמן ההידור.

מבחן תוכנית
אין מרומז
מספר שלם j
מספר שלם, פרמטר :: n = 100000
מספר שלם, פרמטר :: i(n) = (/ (2*j, j = 1, n) /)
הדפס '(10(I0,1X))', i
מבחן סיום התוכנית

זְהִירוּת: זֶה אוֹפְּצִיָה יכול עוֹפֶרֶת ל ארוך לעבד פִּי ו בצורה מוגזמת גָדוֹל אובייקט
קבצים.

ערך ברירת המחדל עבור n הוא 65535.

-fmax-stack-var-size=n
אפשרות זו מציינת את הגודל בבייטים של המערך הגדול ביותר שיוצב ב-
לַעֲרוֹם; אם הגודל חרג נעשה שימוש בזיכרון סטטי (למעט הליכים המסומנים כ
רקורסיבי). השתמש באפשרות -frecursive כדי לאפשר הליכים רקורסיביים שלא
בעלי תכונה RECURSIVE או עבור תוכניות מקבילות. להשתמש -fno-אוטומטי לעולם לא להשתמש
הערימה.

אפשרות זו משפיעה כרגע רק על מערכים מקומיים המוצהרים עם גבולות קבועים, ועשויה
לא חל על כל משתני התווים. גרסאות עתידיות של GNU Fortran עשויות לשפר זאת
התנהגות.

ערך ברירת המחדל עבור n הוא 32768.

-fstack-מערכי
הוספת אפשרות זו תגרום למהדר Fortran לשים את כל המערכים המקומיים, אפילו אלה של
גודל לא ידוע על גבי זיכרון מחסנית. אם התוכנית שלך משתמשת במערכים מקומיים גדולים מאוד, היא כן
ייתכן שתצטרך להאריך את מגבלות זמן הריצה שלך עבור זיכרון מחסנית בחלק
מערכות הפעלה. דגל זה מופעל כברירת מחדל ברמת האופטימיזציה -אופסט.

-fpack-נגזר
אפשרות זו אומרת ל-GNU Fortran לארוז חברים מסוג נגזר קרוב ככל האפשר.
קוד הידור עם אפשרות זו עשוי להיות לא תואם לקוד שהידור ללא
אפשרות זו, ועשויה לפעול לאט יותר.

-frepack-מערכי
בנסיבות מסוימות GNU Fortran עשוי להעביר קטעי מערך צורות משוער דרך a
מתאר המתאר אזור לא רציף של זיכרון. אפשרות זו מוסיפה קוד ל-
פרולוג פונקציה לאריזה מחדש של הנתונים לבלוק רציף בזמן ריצה.

זה אמור להביא לגישה מהירה יותר למערך. עם זאת זה יכול להציג
תקורה משמעותית לקריאת הפונקציה, במיוחד כאשר הנתונים המועברים הם
לא רציף.

-fshort-enums
אפשרות זו ניתנת עבור יכולת פעולה הדדית עם קוד C שהוידור עם ה-
-fshort-enums אוֹפְּצִיָה. זה יגרום ל-GNU Fortran לבחור בסוג "INTEGER" הקטן ביותר א
סט מונים נתון יתאים, וייתן את כל המונים שלו מסוג זה.

-פקסטרנל-בלאס
אפשרות זו תעשה גפורטרן ליצור קריאות לפונקציות BLAS עבור מטריצה ​​כלשהי
פעולות כמו "MATMUL", במקום להשתמש באלגוריתמים שלנו, אם בגודל של
המטריצות המעורבות גדולות מגבול נתון (ראה -fblas-matmul-limit). זה יכול להיות
רווחי אם זמינה ספריית BLAS של ספק אופטימלית. ספריית BLAS תעשה
יש לציין בזמן הקישור.

-fblas-matmul-limit=n
משמעותי רק כאשר -פקסטרנל-בלאס בתוקף. כפל מטריצות של מטריצות
עם גודל גדול מ (או שווה ל) n יבוצע על ידי קריאות לפונקציות BLAS,
בעוד שאחרים יטופלו על ידי גפורטרן אלגוריתמים פנימיים. אם המטריצות מעורבות
אינם מרובעים, השוואת הגודל מתבצעת באמצעות הממוצע הגיאומטרי של ה
מימדים של מטריצות הארגומנט והתוצאה.

ערך ברירת המחדל עבור n הוא 30.

-frecursive
אפשר רקורסיה עקיפה על ידי אילוץ כל המערכים המקומיים להיות מוקצה על הערימה.
לא ניתן להשתמש בדגל זה יחד עם -fmax-stack-var-size= or -fno-אוטומטי.

-סופי-מקומי-אפס
-finit-integer=n
-finit-real=
-סופית-לוגית=
-finit-character=n
-סופי-מקומי-אפס option מורה למהדר לאתחל את "INTEGER" המקומי,
משתני "REAL" ו-"COMPLEX" לאפס, משתני "LOGICAL" ל-false ו-"CHARACTER"
משתנים למחרוזת של בתים null. אפשרויות אתחול עדינות יותר הן
המסופק על ידי -finit-integer=n, -finit-real= (אשר גם
מאתחל את החלקים האמיתיים והדמיוניים של משתני "COMPLEX" מקומיים),
-סופית-לוגית=, ו -finit-character=n (איפה n הוא תו ASCII
ערך) אפשרויות. אפשרויות אלו אינן מאתחלות

* מערכים הניתנים להקצאה

* רכיבים של משתני סוג נגזרים

* משתנים המופיעים במשפט "EQUIVALENCE".

(ייתכן שהמגבלות אלו יוסרו במהדורות עתידיות).

שים לב כי -finit-real=nan אפשרות מאתחלת משתנים "REAL" ו-"COMPLEX" עם a
שקט NaN. לשימוש ב-NaN איתות -finit-real=snan; שים לב, עם זאת, זמן הידור
אופטימיזציות עשויות להמיר אותן ל-NaN שקט ויש להפעיל את ההשמנה
(למשל דרך -ffpe-מלכודת).

לבסוף, שים לב שהפעלת כל אחד מה- -סופי-* אפשרויות ישתיקו אזהרות על כך
היה נפלט על ידי -לא מאותחל עבור המשתנים המקומיים המושפעים.

-falign-commons
כברירת מחדל, גפורטרן אוכף יישור נכון של כל המשתנים בבלוק "COMMON" על ידי
לרפד אותם לפי הצורך. בפלטפורמות מסוימות זה חובה, באחרות זה מתגבר
ביצועים. אם בלוק "COMMON" אינו מוכרז עם סוגי נתונים עקביים
בכל מקום, הריפוד הזה יכול לגרום לצרות, ו -fno-align-commons ניתן להשתמש בו כדי
השבת יישור אוטומטי. יש להשתמש באותה צורה של אפשרות זו עבור כל הקבצים
שחולקים בלוק "COMMON". כדי למנוע בעיות יישור פוטנציאליות בבלוקים "COMMON",
מומלץ להזמין חפצים מהגדול לקטן ביותר.

-fno-protect-parens
כברירת מחדל, הסוגריים בביטוי מכובד עבור כל רמות האופטימיזציה כגון
שהמהדר לא עושה שום שיוך מחדש. באמצעות -fno-protect-parens מאפשר
מהדר לסדר מחדש את הביטויים "REAL" ו-"COMPLEX" כדי לייצר קוד מהיר יותר. ציין זאת
לאופטימיזציה של השיוך מחדש -fno-סימן-אפסים ו -fno-מלכודת-מתמטיקה צריך
להיות בתוקף. הגנת הסוגריים מופעלת כברירת מחדל, אלא אם כן -אופסט is
נָתוּן.

-frealloc-lhs
צד שמאל הניתן להקצאה של הקצאה פנימית מתבצע באופן אוטומטי
(מחדש) מוקצה אם הוא לא מוקצה או שיש לו צורה אחרת. האפשרות היא
מופעל כברירת מחדל למעט כאשר -std=f95 נתון. ראה גם -Wrealloc-lhs.

-חיסול-פונקציונליות-פאגרסיבית
פונקציות עם רשימות ארגומנטים זהות נמחקות בתוך הצהרות, ללא קשר
האם הפונקציות הללו מסומנות "PURE" או לא. לדוגמה, ב

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

תהיה רק ​​קריאה בודדת ל-"f". אפשרות זו פועלת רק אם
-ffrontend-optimize הוא בתוקף.

-ffrontend-optimize
אפשרות זו מבצעת אופטימיזציה חזיתית, המבוססת על מניפולציה של חלקים של Fortran
לנתח עץ. מופעל כברירת מחדל על ידי כל אחד -O אוֹפְּצִיָה. אופטימיזציות מופעלות על ידי זה
אפשרות לכלול חיסול של קריאות פונקציה זהות בתוך ביטויים, הסרה
קריאות מיותרות ל"TRIM" בהשוואות והקצאות והחלפת TRIM(a) ב
"a(1:LEN_TRIM(a))". ניתן לבטל את הבחירה על ידי ציון -fno-frontend-optimize.

הסביבה


גפורטרן מהדר כרגע אינו עושה שימוש במשתני סביבה לשליטה
פעולתו מעל ומעבר לאלו המשפיעים על פעולתו של gcc.

השתמש ב-mips64-linux-gnuabi64-gfortran באינטרנט באמצעות שירותי onworks.net


Ad


Ad

התוכניות המקוונות האחרונות של לינוקס ו-Windows