זוהי הפקודה llvm-bcanalyzer שניתן להפעיל בספק האחסון החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות המרובות שלנו בחינם כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS
תָכְנִית:
שֵׁם
llvm-bcanalyzer - מנתח קוד bitcode LLVM
תַקצִיר
llvm-bcanalyzer [אפשרויות] [שם הקובץ]
תיאור
השמיים llvm-bcanalyzer command הוא כלי עזר קטן לניתוח קבצי קוד סיביות. הכלי
קורא קובץ bitcode (כגון שנוצר עם ה- llvm-as כלי) ומפיק סטטיסטיקה
דווח על התוכן של קובץ ה-bitcode. הכלי יכול גם לזרוק רמה נמוכה אבל אנושית
גרסה קריא של קובץ ה-bitcode. הכלי הזה כנראה לא מעניין במיוחד או
כלי השירות למעט אלה שעובדים ישירות עם פורמט הקובץ bitcode. רוב משתמשי LLVM
יכול פשוט להתעלם מהכלי הזה.
If שם הקובץ מושמט או נמצא -, לאחר מכן llvm-bcanalyzer קורא את הקלט שלו מקלט רגיל.
זה שימושי לשילוב הכלי לתוך צינור. הפלט נכתב לפי התקן
פלט.
אפשרויות
-ללא פרטים
סיבות llvm-bcanalyzer לקצר את הפלט שלו על ידי כתיבת רמת מודול בלבד
סיכום. הפרטים עבור פונקציות בודדות אינם מוצגים.
-מזבלה סיבות llvm-bcanalyzer כדי לזרוק את ה-bitcode בפורמט קריא אנושי. הפורמט הזה
שונה באופן משמעותי מהרכבת LLVM ומספקת פרטים על
קידוד של קובץ ה-bitcode.
-תאשר
סיבות llvm-bcanalyzer כדי לאמת את המודול שנוצר על ידי קריאת ה-bitcode. זֶה
מבטיח שהסטטיסטיקה שנוצרת מבוססת על מודול עקבי.
עזרה הדפס סיכום של אפשרויות שורת הפקודה.
יְצִיאָה סטָטוּס
If llvm-bcanalyzer יצליח, הוא ייצא עם 0. אחרת, אם מתרחשת שגיאה, היא תצא
יציאה עם ערך שאינו אפס, בדרך כלל 1.
סיכום תפוקה הגדרות
הפריטים הבאים מודפסים תמיד על ידי llvm-bcanalyzer. הם מרכיבים את הסיכום
פלט.
Bitcode אָנָלִיזָה Of מודול
זה רק מספק את שם המודול שעבורו מתבצע ניתוח קוד סיביות
נוצר.
Bitcode גִרְסָה מספר
גרסת ה-bitcode (לא גרסת LLVM) של הקובץ שנקראת על ידי המנתח.
שלח מידה
הגודל, בבתים, של קובץ ה-bitcode כולו.
מודול בתים
הגודל, בבתים, של בלוק המודול. האחוז הוא ביחס לגודל הקובץ.
פונקציה בתים
הגודל, בבתים, של כל בלוקי הפונקציות. האחוז הוא ביחס לגודל הקובץ.
גלוֹבָּלִי סוגים בתים
הגודל, בבתים, של מאגר הסוגים הגלובלי. האחוז הוא ביחס לגודל הקובץ.
זהו גודל ההגדרות של כל הסוגים בקובץ ה-bitcode.
קָבוּעַ ברכה בתים
הגודל, בבתים, של אחוז בלוקים מאגר קבוע הוא ביחס לגודל הקובץ.
מודול גלובאלס בתים
הגודל הזה, בבתים, של הגדרות המשתנים הגלובליים והמתחלים שלהם.
האחוז הוא ביחס לגודל הקובץ.
הוראה רשימה בתים
הגודל, בבתים, של כל רשימות ההוראות בכל הפונקציות. אחוז הוא
ביחס לגודל הקובץ. שימו לב שערך זה כלול גם ב- Function Bytes.
דחיסה טבלתי בתים
הגודל, בבתים, של כל טבלאות הדחיסה בכל הפונקציות. אחוז הוא
ביחס לגודל הקובץ. שימו לב שערך זה כלול גם ב- Function Bytes.
סמל טבלתי בתים
הגודל, בבתים, של כל טבלאות הסמלים בכל הפונקציות. אחוז הוא
ביחס לגודל הקובץ. שימו לב שערך זה כלול גם ב- Function Bytes.
תלוי ספריות בתים
הגודל, בבתים, של רשימת הספריות התלויות במודול. אחוז הוא
ביחס לגודל הקובץ. שימו לב שערך זה כלול גם ב-Module Global
בתים.
מספר Of Bitcode אבני
המספר הכולל של בלוקים מכל סוג שהוא בקובץ ה-bitcode.
מספר Of פונקציות
המספר הכולל של הגדרות פונקציות בקובץ ה-bitcode.
מספר Of סוגים
המספר הכולל של סוגים שהוגדרו במאגר הסוגים הגלובלי.
מספר Of קבועים
המספר הכולל של קבועים (מכל סוג) המוגדרים במאגר הקבועים.
מספר Of בסיסי אבני
המספר הכולל של בלוקים בסיסיים המוגדרים בכל הפונקציות בקובץ ה-bitcode.
מספר Of הוראות
המספר הכולל של הוראות שהוגדרו בכל הפונקציות בקובץ ה-bitcode.
מספר Of ארוך הוראות
המספר הכולל של הוראות ארוכות המוגדרות בכל הפונקציות בקובץ ה-bitcode.
הוראות ארוכות הן אלו שלוקחות יותר מ-4 בתים. בדרך כלל הוראות ארוכות
הם GetElementPtr עם מספר מדדים, צמתי PHI וקריאות לפונקציות עם גדול
מספר טיעונים.
מספר Of אופרנדים
המספר הכולל של אופרנדים בשימוש בכל ההוראות בקובץ ה-bitcode.
מספר Of דחיסה לוחות
המספר הכולל של טבלאות דחיסה בכל הפונקציות בקובץ ה-bitcode.
מספר Of סמל לוחות
המספר הכולל של טבלאות סמלים בכל הפונקציות בקובץ ה-bitcode.
מספר Of תלוי libs
המספר הכולל של ספריות תלויות שנמצאו בקובץ ה-bitcode.
סה"כ הוראה מידה
הגודל הכולל של ההוראות בכל הפונקציות בקובץ ה-bitcode.
מְמוּצָע הוראה מידה
המספר הממוצע של בתים לכל הוראה בכל הפונקציות בקובץ ה-bitcode.
ערך זה מחושב על ידי חלוקת גודל הפקודה הכולל במספר ההוראות.
מַקסִימוּם סוּג חריץ מספר
הערך המרבי המשמש למספר המשבצת של סוג. ערכי מספרי משבצות גדולים יותר דורשים יותר
בתים לקידוד.
מַקסִימוּם ערך חריץ מספר
הערך המרבי המשמש למספר המשבצת של ערך. ערכי מספרי משבצות גדולים יותר דורשים יותר
בתים לקידוד.
בתים עבור ערך
הגודל הממוצע של הגדרת ערך (מכל סוג). זה מחושב על ידי חלוקה
גודל קובץ לפי המספר הכולל של ערכים מכל סוג שהוא.
בתים עבור גלוֹבָּלִי
הגודל הממוצע של הגדרה גלובלית (קבועים ומשתנים גלובליים).
בתים עבור פונקציה
המספר הממוצע של בתים להגדרת פונקציה. זה מחושב על ידי חלוקה
בייטים של פונקציות לפי מספר הפונקציות.
# of VBR 32 סיבית מספרים שלמים
המספר הכולל של מספרים שלמים של 32 סיביות המקודדים באמצעות קידוד Variable Bit Rate
תָכְנִית.
# of VBR 64 סיבית מספרים שלמים
המספר הכולל של מספרים שלמים של 64 סיביות המקודדים באמצעות קידוד Variable Bit Rate
תָכְנִית.
# of VBR דחוס בתים
המספר הכולל של בתים הנצרכים על ידי המספרים השלמים של 32 סיביות ו-64 סיביות המשתמשים ב-
ערכת קידוד קצב סיביות משתנה.
# of VBR מורחב בתים
המספר הכולל של בתים שהיה נצרך על ידי 32-bit ו-64-bit
מספרים שלמים אלמלא נדחסו עם ערכת הקידוד Variable Bit Rage.
בתים הציל עם VBR
המספר הכולל של בתים שנשמרו באמצעות ערכת הקידוד Variable Bit Rate. ה
האחוז הוא ביחס ל-# של VBR Expanded Bytes.
מְפוֹרָט תפוקה הגדרות
ההגדרות הבאות מתרחשות רק אם האפשרות -nodetails לא ניתנה. המפורט
פלט מספק מידע נוסף על בסיס פונקציה.
סוּג
חתימת הסוג של הפונקציה.
בתים מידה
המספר הכולל של בתים בבלוק של הפונקציה.
בסיסי אבני
מספר הבלוקים הבסיסיים המוגדרים על ידי הפונקציה.
הוראות
מספר ההוראות המוגדרות על ידי הפונקציה.
ארוך הוראות
מספר ההוראות באמצעות פורמט ההוראות הארוך בפונקציה.
אופרנדים
מספר האופרנדים המשמשים את כל ההוראות בפונקציה.
הוראה מידה
מספר הבתים הנצרכים על ידי הוראות בפונקציה.
מְמוּצָע הוראה מידה
המספר הממוצע של בתים שצורכים ההוראות בפונקציה. הערך הזה
מחושב על ידי חלוקת גודל הוראות לפי הוראות.
בתים עבור הוראה
המספר הממוצע של בתים בשימוש הפונקציה לכל הוראה. ערך זה הוא
מחושב על ידי חלוקת גודל בייט לפי הוראות. שימו לב שזה לא אותו דבר כמו
גודל הוראה ממוצע. הוא מחשב מספר ביחס לגודל הפונקציה הכוללת לא
רק בגודל של רשימת ההוראות.
מספר of VBR 32 סיבית מספרים שלמים
המספר הכולל של מספרים שלמים של 32 סיביות שנמצאו בפונקציה זו (לכל שימוש).
מספר of VBR 64 סיבית מספרים שלמים
המספר הכולל של מספרים שלמים של 64 סיביות שנמצאו בפונקציה זו (לכל שימוש).
מספר of VBR דחוס בתים
המספר הכולל של בתים בפונקציה זו הנצרך על ידי המספרים השלמים של 32 סיביות ו-64 סיביות
המשתמשים בסכימת הקידוד Variable Bit Rate.
מספר of VBR מורחב בתים
המספר הכולל של בתים בפונקציה זו שהיה נצרך על ידי ה-32 סיביות
ומספרים שלמים של 64 סיביות אלמלא נדחסו עם הקידוד Variable Bit Rate
תָכְנִית.
בתים הציל עם VBR
המספר הכולל של בתים שנשמרו בפונקציה זו באמצעות קצב הסיביות המשתנה
ערכת קידוד. האחוז הוא ביחס ל-# של VBR Expanded Bytes.
השתמש ב-llvm-bcanalyzer באופן מקוון באמצעות שירותי onworks.net