זוהי הפקודה ocamlopt שניתן להריץ בספק האירוח החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות החינמיות שלנו, כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS.
תָכְנִית:
שֵׁם
ocamlopt - מהדר קוד מקורי של OCaml
תַקצִיר
ocamlopt [ אפשרויות ] שם הקובץ ...
ocamlopt.opt (אותן אפשרויות)
תיאור
מהדר קוד מקורי בעל ביצועים גבוהים של OCaml ocamlopt(1) קומפילציה של קבצי מקור של OCaml אל
קבצי אובייקט של קוד מקורי ולקשר את קבצי האובייקט הללו כדי לייצר קבצי הרצה עצמאיים.
השמיים ocamlopt(1) לפקודה יש ממשק שורת פקודה דומה מאוד לזה של ocamlc(1). זה
מקבל את אותם סוגי ארגומנטים ומעבד אותם ברצף:
טיעונים המסתיימים ב-.mli נחשבים לקובצי מקור עבור ממשקי יחידות הידור.
ממשקים מציינים את השמות המיוצאים על ידי יחידות הידור: הם מצהירים על שמות ערכים עם
את הסוגים שלהם, להגדיר סוגי נתונים ציבוריים, להכריז על סוגי נתונים מופשטים וכן הלאה. מ ה
פילה x.mli, ה ocamlopt(1) מהדר מייצר ממשק מהידור בקובץ x.cmi. ה-
הממשק שנוצר זהה לזה שנוצר על ידי מהדר הבייטקוד ocamlc(1).
ארגומנטים המסתיימים ב-.ml נחשבים לקובצי מקור עבור יישומי יחידות קומפילציה.
מימושים מספקים הגדרות לשמות המיוצאים על ידי היחידה, ומכילים גם
ביטויים שיש להעריך על תופעות הלוואי שלהם. מתוך הקובץ x.ml, ה ocamlopt(1)
המהדר מייצר שני קבצים: x.o, המכיל קוד אובייקט מקורי, ו- x.cmx, המכיל
מידע נוסף לקישור ואופטימיזציה של לקוחות היחידה. הקומפילציה
יש להתייחס תמיד ליישום תחת השם x.cmx (כאשר ניתן קובץ .o,
ocamlopt(1) מניח שהוא מכיל קוד שקומפילציה שלו מ-C, ולא מ-OCaml).
המימוש נבדק מול קובץ הממשק x.mli (אם קיים) כמתואר
במדריך עבור ocamlc(1).
ארגומנטים המסתיימים ב-.cmx נחשבים לקוד אובייקט מהודר. קבצים אלה מקושרים
ביחד, יחד עם קבצי האובייקט שהושגו על ידי קומפילציה של ארגומנטים .ml (אם יש), ו
ספריית הסטנדרט של OCaml, כדי לייצר תוכנית הפעלה בקוד מקורי. הסדר ב
אילו ארגומנטים של .cmx ו-.ml מוצגים בשורת הפקודה רלוונטיים: קומפילציה
יחידות מאותחלות בסדר זה בזמן ריצה, וזוהי שגיאת זמן קישור להשתמש ב-
רכיב של יחידה לפני שאותחלה. לפיכך, נתון xקובץ .cmx חייב להגיע
לפני כל קבצי ה-.cmx המתייחסים ליחידה x.
ארגומנטים המסתיימים ב-.cmxa נחשבים לספריות של קוד אובייקט. ספרייה כזו אורזת
בשני קבצים lib.cmxa ו- libקבוצת קבצי אובייקטים מסוג .aa (קבצי .cmx/.o). ספריות נבנות
עם ocamlopt -a (ראה את התיאור של -a האפשרות למטה). קבצי האובייקט הכלולים
בספרייה מקושרים כקבצי .cmx רגילים (ראה לעיל), בסדר שצוין כאשר
הספרייה נבנתה. ההבדל היחיד הוא שאם קובץ אובייקט הכלול ב-
אם לא מופנית לספרייה בשום מקום בתוכנית, היא לא מקושרת פנימה.
ארגומנטים המסתיימים ב-.c מועברים למהדר C, שיוצר קובץ אובייקט .o.
קובץ אובייקט זה מקושר לתוכנית.
ההנחה היא שארגומנטים המסתיימים ב-.o או .a הם קבצי אובייקט וספריות C. הם
מקושר עם התוכנית.
הפלט של שלב הקישור הוא קובץ הרצה רגיל של יוניקס. הוא אינו זקוק ל...
ocamlrun(1) לרוץ.
ocamlopt.opt הוא אותו מהדר כמו ocamlopt, אך הורכב עם עצמו במקום עם
מהדר הבייטקוד ocamlc(1). לפיכך, הוא מתנהג בדיוק כמו ocamlopt, אבל קומפילציה
מהיר יותר. ocamlopt.opt אינו זמין בכל ההתקנות של OCaml.
אפשרויות
אפשרויות שורת הפקודה הבאות מזוהות על ידי ocamlopt(1).
-a בנה ספרייה (קובץ .cmxa/.a) עם קבצי האובייקט (קבצי .cmx/.o) שניתנו ב
שורת הפקודה, במקום לקשר אותם לקובץ הרצה. שם ה-
יש להגדיר את הספרייה עם -o אוֹפְּצִיָה.
If -cclib or -קופט אפשרויות מועברות בשורת הפקודה, אפשרויות אלו הן
מאוחסן בספריית .cmxa שנוצרה. לאחר מכן, קישור לספרייה זו
מוסיף אוטומטית בחזרה את -cclib ו -קופט אפשרויות כאילו סופקו
בשורת הפקודה, אלא אם כן ה- -אין קישור אוטומטי ניתנת אפשרות. בנוסף, א
סובסטרינג $CAMLORIGIN בתוך א -קופט האפשרויות יוחלפו על ידי הנתיב המלא אל
ספריית ה-.cma, לא כולל שם הקובץ.
-שם אב
הצג שמות קבצים מוחלטים בהודעות שגיאה.
-לא זרוק מידע מפורט על הקומפילציה (סוגים, כריכות, קריאות זנב וכו').
המידע לקובץ src.ml מוכנס לקובץ src.לא. במקרה של סוג
שגיאה, זרוק את כל המידע שהסיק בודק הסוג לפני השגיאה. ה
srcניתן להשתמש בקובץ .annot עם פקודות emacs המופיעות ב emacs/caml-types.el ל
להציג סוגים והערות אחרות באופן אינטראקטיבי.
-bin-annot
זרוק מידע מפורט על הקומפילציה (סוגים, כריכות, שיחות זנב וכו')
בפורמט בינארי. המידע לקובץ src.ml מוכנס לקובץ src.cmt. ב
במקרה של שגיאת סוג, זרוק את כל המידע שהסיק בודק הסוג לפני כן
הטעות. קבצי ההערות שהופקו על ידי -bin-annot מכיל מידע נוסף
והם הרבה יותר קומפקטיים מהקבצים שמיוצרים על ידי -לא.
-c קומפילציה בלבד. דחק את שלב הקישור של הקומפילציה. קבצי קוד המקור הם
הפך לקבצי קומפילציה, אך לא נוצר קובץ הפעלה. אפשרות זו היא
שימושי להרכבת מודולים בנפרד.
-cc comp
השתמש comp כפי ש-C linker קרא לבנות את קובץ ההפעלה הסופי וכפי ש-C
מהדר להידור קבצי מקור .c.
-cclib -llibname
תעביר את ה -llibname אפשרות לקישור. זה גורם לספריית C הנתונה להיות
מקושר עם התוכנית.
-קופט אוֹפְּצִיָה
העבירו את האפשרות הנתונה למהדר ולמקשר של C. לדוגמה, -קופט -Ldir
גורם לקישור C לחפש ספריות C בספרייה dir.
-קוֹמפָּקטִי
אופטימיזציה של הקוד המיוצר עבור מרחב ולא עבור זמן. התוצאה היא כמות קטנה יותר
אבל תוכניות מעט איטיות יותר. ברירת המחדל היא אופטימיזציה למהירות.
-קונפיג
הדפס את מספר הגרסה של ocamlopt(1) וסיכום מפורט שלו
תצורה, לאחר מכן צא.
-עבור חבילה נתיב המודול
צור קובץ אובייקט (קבצי .cmx ו- .o) שניתן לכלול אותו מאוחר יותר כקובץ משנה-
מודול (עם נתיב הגישה הנתון) של יחידת קומפילציה שנבנתה עם -חבילה.
לדוגמה, ocamlopt -עבור חבילה P -c א.מ"ל ייצר קבצי a.cmx ו-ao אשר
ניתן להשתמש בו מאוחר יותר עם ocamlopt -חבילה -o P.cmx א.סמקס.
-g הוסף מידע על ניפוי באגים תוך כדי קומפילציה וקישור. אפשרות זו נדרשת ב
כדי לייצר מעקבים אחוריים של מחסנית כאשר התוכנית מסתיימת בנקודה שלא נתפסה
יוצא מן הכלל (ראה ocamlrun(1)).
-i גרם למהדר להדפיס את כל השמות המוגדרים (עם הסוגים המשוערים שלהם או שלהם
הגדרות) בעת הידור של יישום (קובץ.ml). אין קבצי קומפילציה (.cmo
וקובצי .cmi) מופקים. זה יכול להיות שימושי כדי לבדוק את הסוגים המתקבלים על ידי
המהדר. כמו כן, מכיוון שהפלט עוקב אחר התחביר של הממשקים, זה יכול לעזור
בכתיבת ממשק מפורש (קובץ.mli) לקובץ: פשוט הפנה את התקן
פלט של המהדר לקובץ .mli, וערוך את הקובץ כדי להסיר הכל
הצהרות על שמות לא מיוצאים.
-I בספרייה
הוסף את הספרייה הנתונה לרשימת הספריות שחיפשו את ממשק הידור
קבצי קוד (.cmi), קבצי קוד אובייקטים מהודרים (.cmx) וספריות (.cmxa). כברירת מחדל,
תחילה מתבצע החיפוש בספרייה הנוכחית, ולאחר מכן בספריית הספרייה הסטנדרטית.
מדריכים שנוספו עם -I יחפשו לאחר המדריכים הנוכחיים, לפי הסדר הבא
אשר ניתנו להם בשורת הפקודה, אך לפני הספרייה הסטנדרטית
ספרייה. ראה גם אפשרות -נוסטדליב.
אם הספרייה הנתונה מתחילה עם +, הוא נלקח ביחס לספרייה הסטנדרטית
מַדרִיך. לדוגמה, -I +compiler-libs מוסיף את ספריית המשנה מהדר-libs of
הספרייה הרגילה לנתיב החיפוש.
-impl שם הקובץ
הידור הקובץ שם הקובץ כקובץ יישום, גם אם הסיומת שלו לא
.ml.
-מוטבע n
הגדר את האגרסיביות של inlining ל- n, שם n הוא מספר שלם חיובי. ציון
-מוטבע 0 מונע את כל הפונקציות מלהיות מוטמעות, למעט אלו שגופן
קטן יותר מאתר הקריאה. לכן, inlining אינו גורם להרחבה בגודל הקוד.
אגרסיביות ברירת מחדל, -מוטבע 1, מאפשר להטמיע פונקציות מעט גדולות יותר,
וכתוצאה מכך הרחבה קלה של גודל הקוד. ערכים גבוהים יותר עבור -מוטבע אוֹפְּצִיָה
לגרום לפונקציות גדולות יותר ויותר להפוך למועמדות להטמעה, אך יכולות לגרום
בעלייה משמעותית בגודל הקוד.
-intf שם הקובץ
הידור הקובץ שם הקובץ כקובץ ממשק, גם אם הסיומת שלו אינה .mli.
סיומת -intf מחרוזת
זיהוי שמות קבצים המסתיימים ב מחרוזת כקובצי ממשק (במקום ברירת המחדל
.mli).
-שמור-לוקים
שמור מחרוזות תיעוד בקובצי .cmi שנוצרו.
-שמור-לוקים
שמור מיקומים בקובצי .cmi שנוצרו.
-תוויות
לא מתעלמים מהתוויות בסוגים, ניתן להשתמש בתוויות ביישומים ולסומן
ניתן לתת פרמטרים בכל סדר. זוהי ברירת המחדל.
-linkall
כפה על כל המודולים הכלולים בספריות להיות מקושרים. אם הדגל הזה לא
בהינתן, מודולים ללא הפניה אינם מקושרים. בעת בניית ספרייה (-a דֶגֶל),
הגדרת ה- -linkall דגל מאלץ את כל הקישורים הבאים של תוכניות הכרוכות בזה
ספרייה כדי לקשר את כל המודולים הכלולים בספרייה.
-אין-כינוי-deps
אל תרשום תלות עבור כינויים של מודול.
-ללא-אפליקציה-פונקציה
משבית את ההתנהגות האפליקטיבית של פונקציות. עם אפשרות זו, כל עובד
יישום מייצר סוגים חדשים בתוצאה שלו ומחיל את אותו פונקטור פעמיים
לאותו טיעון מניב שני מבנים לא תואמים.
-נואסרט
אין להרכיב בדיקות הצהרות. שימו לב שהטופס המיוחד לִטעוֹן שקר תמיד
הידור בגלל שהוא מוקלד במיוחד. לדגל זה אין השפעה בעת הקישור
קבצים שכבר הידור.
-אין קישור אוטומטי
בעת קישור ספריות .cmxa, התעלם -cclib ו -קופט אפשרויות פוטנציאליות
הכלולים בספריות (אם אפשרויות אלה ניתנו בעת בניית ה
ספריות). זה יכול להיות שימושי אם ספרייה מכילה מפרטים שגויים של C
ספריות או אפשרויות C; במקרה זה, במהלך הקישור, הגדר -אין קישור אוטומטי ולעבור את
נכונים ספריות ואפשרויות C בשורת הפקודה.
קישור-nodyn
אפשרו למהדר להשתמש באופטימיזציות שתקפות רק עבור קוד שהוא
מעולם לא בוצע דילינק.
-נוסטדליב
אל תוסיף אוטומטית את ספריית הספרייה הסטנדרטית לרשימת הספריות
חיפש קבצי ממשק מהודרים (.cmi), קבצי קוד אובייקט מהודרים (.cmx),
וספריות (.cmxa). ראה גם אפשרות -I.
-נולבלים
התעלם מתוויות לא אופציונליות בסוגים. לא ניתן להשתמש בתוויות ביישומים, וכן
סדר הפרמטרים נעשה קפדני.
-o קובץ exec
ציין את שם קובץ הפלט שהופק על ידי המקשר. שם הפלט המוגדר כברירת מחדל
הוא a.out, בהתאם למסורת יוניקס. אם ה- -a ניתנת אפשרות, ציין
שם הספרייה שהופקה. אם ה -חבילה אם ניתנת אפשרות, ציין את שם
קובץ האובייקט הארוז שנוצר. אם ה- -פלט-אובייקט ניתנת אפשרות, ציין את
שם קובץ הפלט שנוצר. אם ה- -מְשׁוּתָף ניתנת אפשרות, ציין את השם
של קובץ תוסף שנוצר. ניתן להשתמש בו גם בעת קומפילציה של ממשק או
קובץ יישום, ללא קישור, ובמקרה כזה הוא קובע את שם ה-CMI או
קובץ cmo, וגם מגדיר את שם המודול לשם הקובץ עד לנקודה הראשונה.
פותח מודול
פותח את המודול הנתון לפני עיבוד הממשק או קבצי היישום. אם
כמה פותח ניתנות אפשרויות, הן מעובדות לפי הסדר, ממש כאילו
הצהרות פתוחות! מודול מספר 1;; ... פתוח! moduleN;; נוספו בראש כל קובץ.
-פלט-אובייקט
גורם לקישור לייצר קובץ אובייקט C במקום קובץ הרצה. זהו
שימושי לעטוף קוד OCaml כספריית C, שניתן לקרוא לה מכל תוכנית C. שם ה-
יש להגדיר את קובץ אובייקט הפלט עם -o אפשרות. אפשרות זו יכולה להיות גם
משמש לייצור ספרייה משותפת/דינמית שעברה קומפילציה (הסיומת .so).
-p צור קוד נוסף כדי לכתוב מידע על הפרופיל כאשר התוכנית מבוצעת.
ניתן לאחר מכן לבחון את פרטי הפרופיל באמצעות תוכנת הניתוח gprof(1). ה
-p יש לתת את האפשרות גם בזמן הקומפילציה וגם בזמן הקישור. אובייקט מקשר
קבצים שלא הורכבו עם -p אפשרי, אך גורם לפרופילציה פחות מדויקת.
ראה gprof(1) דף man למידע נוסף על הפרופילים.
תמיכה מלאה ב gprof(1) זמין רק עבור פלטפורמות מסוימות (נכון לעכשיו: אינטל
x86/לינוקס ו-Alpha/יוניקס דיגיטלית). בפלטפורמות אחרות, ה- -p האפשרות תביא
בפרופיל פחות מדויק (אין מידע על גרף שיחות, רק פרופיל זמן).
-חבילה בניית קובץ אובייקט (קבצי .cmx ו- .o) ואת הממשק המקומפל המשויך אליו
(.cmi) שמשלב את קבצי האובייקט .cmx שניתנו בשורת הפקודה, מה שהופך אותם ל-
מופיעים כתת-מודולים של קובץ הפלט .cmx. שם קובץ הפלט .cmx
יש לתת עם ה- -o אוֹפְּצִיָה. לדוגמה,
ocamlopt -חבילה -o P.cmx א.סמקס B.cmx ג.סמ"ק מייצר קבצים מורכבים P.cmx, Po ו-
P.cmi מתאר יחידת קומפילציה בעלת שלושה תת-מודולים A, B ו-C,
התואם לתוכן קבצי האובייקט A.cmx, B.cmx ו-C.cmx. אלה
ניתן להתייחס לתוכן כ-PA, PB ו-PC בשאר התוכנית.
קבצי האובייקט .cmx המשולבים חייבים להיות מקומפלים עם הקבצים המתאימים
-עבור חבילה אפשרות. בדוגמה לעיל, A.cmx, B.cmx ו-C.cmx היו חייבים להיות
נערך עם ocamlopt -עבור חבילה P.
ניתן להשיג מספר רמות אריזה על ידי שילוב -חבילה עם -עבור חבילה. לראות
השמיים Ocaml של המשתמש מדריך ל, פרק "קומפילציית קוד מקורי" לפרטים נוספים.
-עמ הפקודה
גרם למהדר לקרוא לנתון הפקודה כמעבד קדם לכל מקור
קוֹבֶץ. הפלט של הפקודה מופנה מחדש לקובץ ביניים, כלומר
מלוקט. אם אין שגיאות קומפילציה, קובץ הביניים נמחק
לאחר מכן.
-ppx הפקודה
לאחר הניתוח, העבר את עץ התחביר המופשט דרך המעבד המקדים הפקודה. ה
מודול Ast_mapper(3) מיישם את הממשק החיצוני של מעבד קדם.
-קֶרֶן
בדוק את נתיב המידע במהלך בדיקת סוגים, כדי לוודא שכל הסוגים הם
נגזר באופן עקרוני. כל התוכניות התקבלו ב -קֶרֶן מצבים גם הם
מתקבל במצב ברירת מחדל עם סוגים מקבילים, אך חתימות בינאריות שונות.
-טיפוסים
אפשר סוגים רקורסיביים שרירותיים במהלך בדיקת סוגים. כברירת מחדל, רק רקורסיבית
נתמכים סוגים שבהם הרקורסיה עוברת דרך סוג אובייקט. שימו לב שפעם אחת
יצרת ממשק באמצעות הדגל הזה, עליך להשתמש בו שוב עבור כולם
תלות.
-ריצה-וריאנט סִיוֹמֶת
להוסיף סִיוֹמֶת לשם ספריית זמן הריצה שתשמש את התוכנית. אם
OCAml הוגדר עם אפשרות -עם-debug-runtime, אז ה d סיומת היא
נתמך ונותן גרסת ניפוי באגים של זמן הריצה.
-S שמור את קוד האסמבלי שנוצר במהלך הקומפילציה. קוד האסמבלי עבור ה-
קובץ המקור xקובץ .ml נשמר בקובץ x.s.
-מחרוזת בטוחה
לאכוף את ההפרדה בין הסוגים מחרוזת ו בתים, ובכך לגרום למחרוזות לקרוא-
רק. זה יהפוך לברירת המחדל בגרסה עתידית של Ocaml.
-מְשׁוּתָף
בנה תוסף (בדרך כלל .cmxs) שניתן לטעון אותו באופן דינמי עם ה- דינלנק
מודול. שם התוסף חייב להיות מוגדר עם ה- -o אפשרות. תוסף יכול לכלול
מספר מודולים וספריות של OCaml, ואובייקטים מקוריים נוספים (קבצי .o, .a).
בניית תוספים מקוריים נתמכת רק עבור חלק ממערכות ההפעלה.
מערכות (כרגע, רק לינוקס AMD 64), כל קוד OCaml המקושר בתוסף חייב להיות
הורכבו ללא ה- קישור-nodyn דגל. ייתכן שיחולו גם מגבלות מסוימות
לאופן שבו האובייקטים המקוריים הנוספים הוקמפלו (תחת לינוקס AMD 64, הם
חייב להכיל רק קוד שאינו תלוי במיקום).
-שבילים קצרים
כאשר סוג נראה תחת מספר נתיבים של מודול, השתמש בנתיב הקצר ביותר כאשר
הדפסת שם הסוג בממשקים משוערים והודעות שגיאה ואזהרה.
-רצף קפדני
החלק השמאלי של רצף חייב להיות מסוג יחידה.
-פְּתִיל
קומפילציה או קישור של תוכניות מרובות הליכי משנה, בשילוב עם הליכי המערכת
הספרייה המתוארת ב השמיים Ocaml של המשתמש מדריך ל.
-מְסוּכָּן
כבה את הסימון המוגדר עבור גישה למערך ולמחרוזות (ה v.(i)וסִי]
בונה). תוכניות הידור עם -מְסוּכָּן לכן מהירים יותר, אך לא בטוחים:
כל דבר יכול לקרות אם התוכנית ניגשת למערך או מחרוזת מחוץ לתחום שלה.
גבולות. בנוסף, בטל את הבדיקה למחלק אפס בחילוק מספרים שלמים ו
פעולות מודולוס. עם -מְסוּכָּן, חילוק של מספר שלם (או מודולוס) באפס יכול
לעצור את התוכנית או להמשיך עם תוצאה לא מוגדרת במקום להעלות
חילוק_באפס יוצא מן הכלל.
-מחרוזת לא בטוחה
זהה את הסוגים מחרוזת ו בתים, ובכך להפוך מחרוזות לכתיבה. מסיבות
של תאימות לאחור, זו הגדרת ברירת המחדל כרגע, אבל זה
ישתנה בגרסה עתידית של Ocaml.
-v הדפס את מספר הגרסה של המהדר ואת המיקום של הספרייה הסטנדרטית
ספרייה, ואז צא.
-שורש
הדפס את כל הפקודות החיצוניות לפני ביצוען, במיוחד הפקודות של
האסמבלר, המהדר C והלינקר.
-הפך or -vnum
הדפס את מספר הגרסה של המהדר בצורה קצרה (למשל "3.11.0"), ואז צא.
-w רשימת אזהרות
הפעל, השבת או סמן כקטלניות את האזהרות שצוינו בארגומנט
רשימת אזהרות. לראות ocamlc(1) עבור התחביר של רשימת אזהרות.
-אזהרה-שגיאה רשימת אזהרות
סמן כאזהרות קטלניות שצוינו בארגומנט רשימת אזהרות. המהדר
יפסיק עם שגיאה כאשר אחת מהאזהרות הללו תיפלט. ה רשימת אזהרות
יש אותה משמעות כמו ל- -w אפשרות: א + סימני סימן (או אות גדולה).
האזהרות המתאימות כקטלניות, א - סימן (או אות קטנה) הופך אותם
חזרה לאזהרות לא קטלניות, וא @ סימן גם מאפשר וגם מסמן כקטלני את
אזהרות מתאימות.
הערה: לא מומלץ להשתמש ב- -אזהרה-שגיאה אפשרות בקוד ייצור,
כי זה ימנע כמעט בוודאות קומפילציה של התוכנית שלך עם גרסאות מאוחרות יותר
של Ocaml כאשר הם מוסיפים אזהרות חדשות או משנים אזהרות קיימות.
הגדרת ברירת המחדל היא -אזהרה-שגיאה -a (כל האזהרות אינן קטלניות).
-הזהיר-עזרה
הצג את התיאור של כל מספרי האזהרה הזמינים.
-איפה הדפס את המיקום של הספרייה הרגילה, ואז צא.
- פילה התַהֲלִיך פילה כשם קובץ, גם אם הוא מתחיל בתו מקף (-).
עזרה or - עזרה
הצג סיכום שימוש קצר וצא.
אפשרויות עבור LA IA32 אַדְרִיכָלוּת
מחולל הקודים IA32 (Intel Pentium, AMD Athlon) תומך בפונקציות הנוספות הבאות
אפשרות:
-מהיר-מתמטיקה
השתמשו בהוראות IA32 כדי לחשב פונקציות טריגונומטריות ואקספוננציאליות,
במקום לקרוא לשגרות הספרייה המתאימות. הפונקציות המושפעות הן:
אטאן, atan2, cos, היכנס, log10, חטא, מ"ר ו שזוףהקוד שנוצר פועל מהר יותר,
אבל טווח הארגומנטים הנתמכים ודיוק התוצאה יכולים להיות
מופחת. בפרט, פעולות טריגונומטריות cos, חטא, שזוף יש את הטווח שלהם
מופחת ל-[-2^64, 2^64].
אפשרויות עבור LA AMD64 אַדְרִיכָלוּת
מחולל הקודים AMD64 (גרסאות 64 סיביות של Intel Pentium ו-AMD Athlon) תומך ב-
האפשרויות הנוספות הבאות:
-fPIC צור קוד מכונה שאינו תלוי במיקום. זוהי ברירת המחדל.
-fno-PIC
צור קוד מכונה תלוי-מיקום.
אפשרויות עבור LA SPARC אַדְרִיכָלוּת
מחולל הקודים של Sparc תומך באפשרויות הנוספות הבאות:
-מרץ=v8
צור קוד SPARC גרסה 8.
-מרץ=v9
צור קוד SPARC גרסה 9.
ברירת המחדל היא יצירת קוד עבור SPARC גרסה 7, אשר פועלת על כל מעבדי SPARC.
אפשרויות עבור LA זרוע אַדְרִיכָלוּת
מחולל קוד ה-ARM תומך באפשרויות הנוספות הבאות:
-farch=armv4|armv5|armv5te|armv6|armv6t2|armv7
בחר את ארכיטקטורת היעד של ARM
-ffpu=soft|vfpv2|vfpv3-d16|vfpv3
בחר את חומרת הנקודה הצפה
-fPIC יצירת קוד מכונה שאינו תלוי מיקום.
-fno-PIC
צור קוד מכונה תלוי-מיקום. זוהי ברירת המחדל.
-fthumb
הפעל יצירת קוד Thumb/Thumb-2
-fno-thumb
השבתת יצירת קוד Thumb/Thumb-2
ערכי ברירת המחדל עבור ארכיטקטורת היעד, חומרת נקודה צפה ושימוש ב-thumb היו
נבחר בזמן ההגדרה בעת הבנייה ocamlopt עצמו. תצורה זו יכולה להיות
נבדק באמצעות ocamlopt -קונפיגארכיטקטורת היעד תלויה בהגדרת ה"מודל",
בעוד שחומרת נקודה צפה ותמיכה באגודל נקבעים מהגדרת ה-ABI ב-
"מערכת" ( לינוקס_eabiorלינוקס_eabihf).
השתמש ב-ocamlopt באינטרנט באמצעות שירותי onworks.net