אנגליתצרפתיתספרדי

Ad


סמל OnWorks

clang-3.5 - מקוון בענן

הפעל clang-3.5 בספק אירוח חינמי של OnWorks על אובונטו Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS

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

תָכְנִית:

שֵׁם


clang - המהדר Clang C, C++ ו-Objective-C

תַקצִיר


מקשקש [-c|-S|-E] -std=תֶקֶן -g
[-O0|-O1|-O2|-O3|-אופסט|-אוס|-עוז|-O|-O4]
-Wאזהרות... -קַפְּדָנִי
-Iדיר ... -Lדיר ...
-Dמאקרו[=defn]
-fאפשרות תכונה...
-mאפשרות למכונה...
-o קובץ פלט
-stdlib=ספריה
שמות קבצים קלט

תיאור


מקשקש הוא מהדר C, C++ ו-Objective-C אשר כולל עיבוד מקדים, ניתוח,
אופטימיזציה, יצירת קוד, הרכבה וקישור. תלוי באיזה מצב ברמה גבוהה
ההגדרה עוברת, Clang יפסיק לפני ביצוע קישור מלא. בעוד קלאנג הוא מאוד
משולבת, חשוב להבין את שלבי ההידור, להבין כיצד
להפעיל את זה. השלבים האלה הם:

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

עיבוד מוקדם
שלב זה מטפל בטוקניזציה של קובץ מקור הקלט, הרחבת מאקרו, #include
הרחבה וטיפול בהנחיות קדם-מעבד אחרות. הפלט של שלב זה הוא
נקרא בדרך כלל ".i" (עבור C), ".ii" (עבור C++), ".mi" (עבור Objective-C) או ".mii"
(עבור קובץ Objective-C++).

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

קופונים דור ו אופטימיזציה
שלב זה מתרגם AST לקוד ביניים ברמה נמוכה (המכונה "LLVM IR") ו
בסופו של דבר לקוד מכונה. שלב זה אחראי לאופטימיזציה של המופק
קוד וטיפול ביצירת קוד ספציפי ליעד. הפלט של שלב זה הוא
נקרא בדרך כלל קובץ ".s" או קובץ "assembly".

Clang תומך גם בשימוש של אסמבלר משולב, שבו מחולל הקוד
מייצר קבצי אובייקט ישירות. זה ימנע את התקורה של יצירת קובץ ".s".
ושל קריאה למרכיב המטרה.

אסמבלר
שלב זה מפעיל את מטרת אסמבלר כדי לתרגם את הפלט של המהדר ל-a
קובץ אובייקט המטרה. הפלט של שלב זה נקרא בדרך כלל קובץ ".o" או
קובץ "אובייקט".

לינקר
שלב זה מפעיל את מקשר היעד כדי למזג קבצי אובייקט מרובים לקובץ הפעלה או
ספרייה דינמית. הפלט של שלב זה נקרא בדרך כלל "a.out", ".dylib" או
קובץ ".so".

מהדר Clang תומך במספר רב של אפשרויות לשלוט בכל אחד מהשלבים הללו. ב
בנוסף להידור של קוד, Clang תומך גם בכלים אחרים:

קלאנג סטטי מנתח

ה-Clang Static Analyzer הוא כלי שסורק קוד מקור כדי לנסות לאתר באגים
ניתוח קוד. כלי זה משתמש בחלקים רבים של Clang והוא מובנה באותו דרייבר.
בבקשה תראהhttp://clang-analyzer.llvm.org> לפרטים נוספים על אופן השימוש בסטטי
מנתח.

אפשרויות


התמחות בחירה אפשרויות
-E הפעל את שלב המעבד המקדים.

-fsyntax-בלבד
הפעל את שלבי המעבד המקדים, המנתח ובדיקת הסוג.

-S הפעל את השלבים הקודמים כמו גם שלבי ייצור ואופטימיזציה של LLVM ויעד-
יצירת קוד ספציפי, הפקת קובץ assembly.

-c הפעל את כל האמור לעיל, בתוספת ה-assembler, ויוצר קובץ אובייקט יעד ".o".

לא שלב מבחר אוֹפְּצִיָה
אם לא צוינה אפשרות בחירת שלב, כל השלבים שלמעלה מופעלים, והקישור כן
הפעל כדי לשלב את התוצאות לתוך ספרייה הפעלה או משותפת.

שפה בחירה ו מצב אפשרויות
-x שפה
התייחס לקבצי הקלט הבאים כבעלי סוג שפה.

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

-סטדליב=ספריה
ציין את הספרייה הסטנדרטית C++ לשימוש; האפשרויות הנתמכות הן libstdc++ ו-libc++.

-אנסי
כמו -std=c89.

-ObC++
התייחס לקבצי קלט מקור ככניסות Objective-C++.

-אובייק
התייחס לקבצי קלט מקור כאל כניסות Objective-C.

-טריגרפים
אפשר טריגרפים.

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

-fno-builtin
השבת טיפול מיוחד ואופטימיזציות של פונקציות מובנות כמו strlen ו
malloc.

-fmath-errno
ציין שיש להתייחס לפונקציות מתמטיות כאל עדכון שגיאה.

-fpascal-strings
אפשר תמיכה עבור מחרוזות בסגנון פסקל עם "\pfoo".

-fms-הרחבות
אפשר תמיכה בהרחבות של Microsoft.

-fmsc-version=
הגדר את _MSC_VER. ברירת המחדל היא 1300 ב-Windows. לא נקבע אחרת.

-fborland-הרחבות
אפשר תמיכה בהרחבות Borland.

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

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

-fblocks
הפעל את תכונת השפה "בלוקים".

-fobjc-gc-בלבד
ציין שקוד Objective-C צריך להיות קומפילד במצב GC בלבד, שעובד רק
כאשר Objective-C איסוף זבל מופעל.

-fobjc-gc
ציין שקוד Objective-C צריך להיות קומפילד במצב היברידי-GC, שעובד עם
מצב GC וגם מצב שאינו GC.

-fobjc-abi-version=גרסה
בחר את גרסת Objective-C ABI לשימוש. הגרסאות הזמינות הן 1 (מדור קודם "שביר"
ABI), 2 (ABI 1 לא שביר) ו-3 (ABI 2 לא שביר).

-fobjc-nonfragile-abi-version=גרסה
בחר את גרסת ה-ABI הלא שביר של Objective-C לשימוש כברירת מחדל. זה יהיה רק
משמש כ-ABI של Objective-C כאשר ה-ABI הלא שביר מופעל (או דרך
-fobjc-nonfragile-abi, או בגלל שזו ברירת המחדל של הפלטפורמה).

-fobjc-nonfragile-abi
אפשר שימוש ב-ABI הלא שביר של Objective-C. בפלטפורמות שעבורן זה ה
ברירת המחדל של ABI, ניתן לבטל את זה -fno-objc-nonfragile-abi.

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

-קֶשֶׁת ארכיטקטורה
ציין את הארכיטקטורה בשביל לבנות.

-macosx-version-min=גרסה
בעת בניית עבור Mac OS X, ציין את הגרסה המינימלית הנתמכת על ידי היישום שלך.

-miphoneos-version-min
בעת בנייה עבור iPhone OS, ציין את הגרסה המינימלית הנתמכת על ידי
יישום.

-מרץ=מעבד
ציין ש-Clang צריך ליצור קוד עבור בן משפחה ספציפי של מעבד ו
יותר מאוחר. לדוגמה, אם תציין -march=i486, המהדר רשאי ליצור
הוראות שתקפות במעבדי i486 ואילך, אך ייתכן שלא קיימות בהן
מוקדמים יותר.

קופונים דור אפשרויות
-O0 -O1 -O2 -O3 -אופסט -אוס -עוז -O -O4
ציין באיזו רמת אופטימיזציה להשתמש:

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

-O1 איפה שהוא בין -O0 ו -O2.

-O2 רמת אופטימיזציה מתונה המאפשרת את רוב האופטימיזציות.

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

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

-אוס כמו -O2 עם אופטימיזציות נוספות להקטנת גודל הקוד.

-עוז כמו -אוס (וכך -O2), אך מקטין את גודל הקוד עוד יותר.

-O שווה ערך ל -O2.

-O4 וגבוה יותר
כרגע שווה ערך ל -O3

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

-fstandalone-debug -fno-standalone-debug
Clang תומך במספר אופטימיזציות כדי להקטין את גודל מידע ניפוי הבאגים
הבינארי. הם עובדים על סמך ההנחה שמידע מסוג ניפוי הבאגים יכול להיות
פרוסים על מספר יחידות קומפילציה. לדוגמה, Clang לא יפלוט סוג
הגדרות לסוגים שאינם נחוצים על ידי מודול וניתן להחליף אותם ב-a
הצהרה קדימה. יתרה מכך, Clang יפלוט מידע סוג רק עבור מחלקה דינמית של C++
במודול שמכיל את vtable עבור המחלקה.

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

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

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

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

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

-ftls-מודל
הגדר את מודל ברירת המחדל של אחסון שרשור מקומי (TLS) לשימוש עבור משתנים מקומיים.
ערכים חוקיים הם: "גלובלי-דינמי", "מקומי-דינמי", "ראשוני-exec" ו-"local-exec".
ברירת המחדל היא "גלובלי-דינמי". ניתן לעקוף את מודל ברירת המחדל באמצעות ה-
מאפיין tls_model. המהדר ינסה לבחור מודל יעיל יותר אם
אפשרי.

-flto -emit-llvm
צור קבצי פלט בפורמטים של LLVM, המתאימים לאופטימיזציה של זמן קישור. בעת שימוש
עם -S זה יוצר LLVM קבצי הרכבה של שפת ביניים, אחרת זה
יוצר קבצי אובייקט בפורמט LLVM bitcode (שעשויים לעבור למקשר
בהתאם לאפשרויות בחירת השלבים).

נהג אפשרויות
-###
הדפס (אך אל תפעיל) את הפקודות להפעלה עבור הידור זה.

- עזרה
הצג אפשרויות זמינות.

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

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

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

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

-Xanalyzer גדול מ
לעבור גדול מ לנתח הסטטי.

-Xassembler גדול מ
לעבור גדול מ להרכבה.

-Xlinker גדול מ
לעבור גדול מ למקשר.

-Xpreprocessor גדול מ
לעבור גדול מ למעבד המקדים.

-o פילה
כתוב פלט ל פילה.

-שם קובץ הדפסה=פילה
הדפס את נתיב הספרייה המלא של פילה.

-print-libgcc-file-name
הדפס את נתיב הספרייה עבור "libgcc.a".

-דפוס-פרוג-שם=שם
הדפס את נתיב התוכנית המלא של שם.

-print-search-dirs
הדפס את הנתיבים המשמשים למציאת ספריות ותוכניות.

-חיסכון-טמפ'
שמור תוצאות אוסף ביניים.

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

-time
זמן פקודות בודדות.

-ftime-דוח
הדפס סיכום תזמון של כל שלב של הידור.

-v הצג פקודות להפעלה והשתמש בפלט מילולי.

אבחון אפשרויות
-fshow-עמודה -fshow-source-location -fcaret-דיאגנוסטיקה -fdiagnostics-fixit-info
-fdiagnostics-parseable-fixits -fdiagnostics-print-source-range-info
-fprint-source-range-info -fdiagnostics-show-option -אורך הודעה
אפשרויות אלה שולטות כיצד Clang מדפיס מידע על אבחון (שגיאות ו
אזהרות). אנא עיין במדריך למשתמש של Clang למידע נוסף.

Preprocessor אפשרויות
-Dmacroname=value
מוסיף #define מרומז למאגר ה-predefines הנקרא לפני המקור
הקובץ מעובד מראש.

-Uמקרון שם
מוסיף #undef מרומז למאגר ה-predefines הנקרא לפני המקור
הקובץ מעובד מראש.

-לִכלוֹל שם הקובץ
מוסיף #include מרומז למאגר ה-predefines הנקרא לפני המקור
הקובץ מעובד מראש.

-Iבספרייה
הוסף את הספרייה שצוינה לנתיב החיפוש עבור קבצי include.

-Fבספרייה
הוסף את הספרייה שצוינה לנתיב החיפוש עבור קבצי framework include.

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

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

-nobuiltininc
אל תחפש בספרייה המובנית של clang עבור קבצי include.

הסביבה


TMPDIR, TEMP, Tmp
משתני סביבה אלה נבדקים, על מנת שהמיקום יכתוב זמני
קבצים המשמשים במהלך תהליך הקומפילציה.

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

מתעלמים ממרכיבים ריקים במשתנה הסביבה.

C_INCLUDE_PATH, OBJC_INCLUDE_PATH, CPLUS_INCLUDE_PATH, OBJCPLUS_INCLUDE_PATH
משתני סביבה אלו מציינים נתיבים נוספים, כמו עבור CPATH, שהם רק
משמש בעת עיבוד השפה המתאימה.

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

השתמש ב-clang-3.5 באינטרנט באמצעות שירותי onworks.net


שרתים ותחנות עבודה בחינם

הורד אפליקציות Windows & Linux

  • 1
    usm
    usm
    Usm היא חבילת Slackware מאוחדת
    מנהל שמטפל באוטומט
    פתרון תלות. זה מאחד
    מאגרי חבילות שונים כולל
    slackware, slacky, p...
    הורד את usm
  • 2
    Chart.js
    Chart.js
    Chart.js היא ספריית Javascript ש
    מאפשר למעצבים ולמפתחים לצייר
    כל מיני תרשימים באמצעות HTML5
    אלמנט קנבס. Chart js מציע נהדר
    מערך...
    הורד את Chart.js
  • 3
    iReport-Designer עבור JasperReports
    iReport-Designer עבור JasperReports
    הערה: תמיכה ב-iReport/Jaspersoft Studio
    הודעה: החל מגרסה 5.5.0,
    Jaspersoft Studio יהיה הרשמי
    לקוח עיצוב עבור JasperReports. אני מדווח
    רָצוֹן...
    הורד את iReport-Designer עבור JasperReports
  • 4
    PostInstallerF
    PostInstallerF
    PostInstallerF יתקין את כל
    תוכנה שפדורה לינוקס ואחרות
    אינו כולל כברירת מחדל, לאחר
    מפעיל את פדורה בפעם הראשונה. שֶׁלָה
    קל ל ...
    הורד את PostInstallerF
  • 5
    שטרס
    שטרס
    פרויקט strace הועבר ל
    https://strace.io. strace is a
    אבחון, איתור באגים והדרכה
    מעקב אחר מרחב משתמש עבור לינוקס. זה משומש
    לפקח על...
    הורד strace
  • 6
    gMKVExtractGUI
    gMKVExtractGUI
    GUI עבור כלי השירות mkvextract (חלק מ
    MKVToolNix) המשלב את רוב (אם
    לא הכל) הפונקציונליות של mkvextract ו
    כלי עזר mkvinfo. נכתב ב-C#NET 4.0,...
    הורד את gMKVExtractGUI
  • עוד »

פקודות לינוקס

Ad