זוהי הפקודה cppcheck שניתן להפעיל בספק האירוח החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות המרובות שלנו, כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS
תָכְנִית:
שֵׁם
cppcheck - כלי לניתוח קוד C/C++ סטטי
תַקצִיר
cppcheck [--append=] [--check-config] [--ספריית צ'קים] [-ד] [-U]
[--enable=] [--error-exitcode=] [--רשימת שגיאות]
[--exitcode-suppressions=] [--file-list=] [--כּוֹחַ] [- עזרה]
[-אני] [--includes-file=] [--config-exclude=]
[--config-excludes-file=] [--include=] [-אני] [--לא חד משמעי]
[--inline-suppr] [-י] [-ל] [--שפה=] [--ספרייה=]
[--max-configs=] [--פלטפורמה=] [--שֶׁקֶט] [--relative-paths=]
[--דוח-התקדמות] [--rule=] [--rule-file=] [--std=]
[--להדחיק=] [--suppressions-list=] [--template=' ']
[--מִלוּלִי] [--גִרְסָה] [--xml] [--xml-version= ]] [פילה or נתיב] ...
תיאור
Cppcheck הוא כלי שורת פקודה שמנסה לזהות באגים שהמהדר C/C++ שלך לא
לִרְאוֹת. זה רב תכליתי, ויכול לבדוק קוד לא סטנדרטי כולל מהדרים שונים
הרחבות, קוד הרכבה מוטבע וכו'. המעבד הפנימי הפנימי שלו יכול להתמודד עם כולל,
פקודות מאקרו ומספר פקודות קדם-מעבד. בעוד ש-Cppcheck ניתן להגדרה מאוד, אתה יכול
התחל להשתמש בו רק על ידי מתן נתיב לקוד המקור.
אפשרויות
נתח קבצי C/C++ נתונים עבור שגיאות נפוצות.
--append=
זה מאפשר לך לספק מידע על פונקציות על ידי מתן יישום
בשביל אלה.
--check-config
בדוק את תצורת Cppcheck. ניתוח הקוד הרגיל מושבת על ידי דגל זה.
--ספריית צ'קים
הצג הודעות מידע כאשר לקבצי ספרייה יש מידע חלקי.
-ד
כברירת מחדל Cppcheck בודק את כל התצורות. השתמש ב-D כדי להגביל את הבדיקה. מתי ד
בשימוש, הבדיקה מוגבלת לתצורה הנתונה. דוגמה: -DDEBUG=1
-D__cplusplus
-U
כברירת מחדל Cppcheck בודק את כל התצורות. השתמש ב-'-U' כדי להסתיר במפורש מסוימות
#ifdef נתיבי קוד מבדיקה. דוגמה: '-UDEBUG'
--enable=
אפשר בדיקות נוספות. המזהים הזמינים הם:
את כל
אפשר את כל הבדיקות. מומלץ להשתמש רק ב--enable=all כאשר השלם
התוכנית נסרקת, כי זה מאפשר unusedFunction.
אזהרה
אפשר הודעות אזהרה
סגנון
אפשר את כל בדיקות סגנונות הקידוד. כל ההודעות עם 'סגנון' החומרה,
'ביצועים' ו'ניידות' מופעלים.
ביצועים
אפשר הודעות ביצועים
הִטַלטְלוּת
אפשר הודעות ניידות
מידע
אפשר הודעות מידע
unusedFunction
בדוק אם יש פונקציות שאינן בשימוש. מומלץ לאפשר זאת רק כאשר כולו
התוכנית נסרקת
חסר כלול
הזהיר אם חסר כולל. למידע מפורט השתמש ב--check-config
כברירת מחדל אף אחת מהבדיקות הנוספות לא מופעלת. ניתן לתת מספר מזהים אם אתה
הפרד אותם באמצעות פסיקים, למשל --enable=style,unusedFunction. ראה גם --std
--error-exitcode=
אם נמצאו שגיאות, מספר שלם מוחזר במקום ברירת המחדל 0. EXIT_FAILURE הוא
מוחזר אם הארגומנטים אינם חוקיים או אם לא סופקו קבצי קלט. שים לב שלך
מערכת ההפעלה יכולה לשנות ערך זה, למשל 256 יכול להפוך ל-0.
--רשימת שגיאות
הדפס רשימה של כל הודעות השגיאה האפשריות בפורמט XML.
--exitcode-suppressions=
משמש כאשר הודעות מסוימות צריכות להיות מוצגות אך לא אמורות לגרום לאפס
קוד יציאה.
--file-list=
ציין את הקבצים שיש לבדוק בקובץ טקסט. שם קובץ אחד בכל שורה. כאשר הקובץ הוא -, ה-
רשימת הקבצים תקרא מקלט רגיל.
-f, --כּוֹחַ
כפה בדיקה של קבצים שיש להם הרבה תצורות. שגיאה מודפסת אם כזו
הקובץ נמצא ולכן אין סיבה להשתמש בו כברירת מחדל. אם משתמשים בו יחד עם
--max-configs=, האפשרות האחרונה היא זו יעילה.
-h, - עזרה
הדפס טקסט עזרה.
-I
תן נתיב לחיפוש קבצי כלול. תן מספר -I פרמטרים כדי לתת כמה
שבילים. תחילה מחפשים את הנתיב הנתון הראשון עבור קבצי כותרת הכלולים. אם שבילים כן
יחסית לקבצי מקור, אין צורך בכך.
--includes-file=
ציין נתיבי ספרייה לחיפוש קובצי כותרות כלולים בקובץ טקסט. הוסף אחד
כלול נתיב לכל שורה. הנתיב הנתון הראשון הוא חיפוש אחר קבצי כותרת הכלולים תחילה.
אם נתיבים הם יחסיים לקבצי מקור, אין צורך בכך.
--config-exclude=
נתיב (קידומת) שלא ייכלל בבדיקת התצורה. תצורות קדם-מעבד
המוגדרות בכותרות (אך לא במקורות) התואמות לקידומת לא תיחשב עבורה
הערכה של חלופות תצורה.
--config-exclude-file=
קובץ המכיל רשימה של config-excludes.
--include=
כפה הכללת קובץ לפני הקובץ המסומן. ניתן להשתמש למשל מתי
בודק את ליבת לינוקס, שבה צריך לכלול autoconf.h עבור כל קובץ
מלוקט. פועל באותו אופן כמו האפשרות GCC -include.
-i
תן נתיב להתעלם. תן כמה פרמטרים -i כדי להתעלם מכמה נתיבים. לָתֵת
שם ספרייה או שם קובץ עם נתיב כפרמטר. שם הספרייה מותאם לכולם
חלקים של השביל.
--לא חד משמעי
אפשר ש-Cppcheck ידווח למרות שהניתוח אינו חד משמעי. יש שקר
חיובי עם אפשרות זו. כל תוצאה חייבת להיחקר בקפידה לפני שאתה יודע
אם זה טוב או רע.
--inline-suppr
אפשר דיכוי מוטבע. השתמש בהם על ידי הוספת הערות בטופס: //
cppcheck-דכא את הזיכרון לפני השורה להדחיק.
-j
הַתחָלָה שרשורים כדי לבצע את עבודת הבדיקה.
-l
מציין שאין להתחיל שרשורים חדשים אם יש שרשורים אחרים פועלים ו
ממוצע העומס הוא לפחות (מתעלמים ממנו במערכות שאינן דמויות UNIX)
--שפה=
מאלץ את cppcheck לבדוק את כל הקבצים בתור השפה הנתונה. ערכים חוקיים הם: c, c++
--ספרייה=
השתמש בתצורת ספרייה.
--max-configs=
המספר המרבי של תצורות לכניסה לקובץ לפני דילוג עליו. ברירת המחדל היא 12.
אם נעשה שימוש יחד עם --force, האפשרות האחרונה היא זו יעילה.
--פלטפורמה=
מציין סוגים וגדלים ספציפיים של פלטפורמה. הפלטפורמות הזמינות הן:
יוניקס 32
גרסת יוניקס של 32 סיביות
יוניקס 64
גרסת יוניקס של 64 סיביות
win32A
קידוד תווים 32 סיביות של Windows ASCII
win32W
קידוד תווים 32 סיביות של Windows UNICODE
win64
חלונות 64 סיביות
כברירת מחדל נעשה שימוש בפלטפורמה ששימשה להידור Cppcheck.
-q, --שֶׁקֶט
הדפס משהו רק כאשר יש שגיאה.
-rp, -rp=, --יחסי-נתיבים;, --relative-paths=
השתמש בנתיבים יחסיים בפלט. כאשר ניתן, משמשים כבסיס. אפשר להפריד
נתיבים מרובים לפי ';'. אחרת נעשה שימוש בנתיב שבו מחפשים קבצי מקור. למשל אם
הערך הנתון הוא test, כאשר בודקים test/test.cpp, הנתיב בפלט יהיה test.cpp
במקום test/test.cpp. התכונה משתמשת בהשוואת מחרוזות כדי ליצור נתיבים יחסיים,
אז השימוש למשל ~ עבור תיקיית הבית לא עובד. כרגע ניתן להגיש בקשה בלבד
נתיבי הבסיס לקבצים שנמצאים ברמה נמוכה יותר בעץ הספריות.
--דוח-התקדמות
דווח על התקדמות בעת בדיקת קובץ.
--rule=
התאם ביטוי רגולרי כדי ליצור צ'קים משלך. למשל, ניתן להשתמש בכלל "/ 0".
לבדוק חלוקה באפס. פקודה זו זמינה רק אם הידור עם cppcheck
HAVE_RULES=כן.
--rule-file=
השתמש בקובץ XML של כלל נתון. ראה https://sourceforge.net/projects/cppcheck/files/Articles/
למידע נוסף על התחביר. פקודה זו זמינה רק אם cppcheck היה
הידור עם HAVE_RULES=כן.
--std=
קבע סטנדרט. האפשרויות הזמינות הן:
פוסיקס
קוד תואם POSIX
c89
קוד C תואם C89
c99
קוד C תואם C99
c11
קוד C תואם C11 (ברירת מחדל)
03 +
קוד C++ תואם C++03
11 +
קוד C++ תואם C++11 (ברירת מחדל)
דוגמה להגדרת יותר מסטנדרט אחד: 'cppcheck --std=c99 --std=posix file.cpp'
--להדחיק=
דחק אזהרה ספציפית. הפורמט של הוא: [מזהה שגיאה]:[שם קובץ]:[שורה].
[שם הקובץ] ו-[שורה] הם אופציונליים. [מזהה שגיאה] עשוי להיות * כדי לדכא את כל האזהרות
(עבור קובץ או קבצים שצוינו). [שם קובץ] עשוי להכיל את התווים הכלליים * או
?.
--suppressions-list=
דחק אזהרות המפורטות בקובץ. כל דיכוי הוא בפורמט של
מֵעַל.
--template=' '
פרמט את הודעות השגיאה. למשל '{file}:{line},{severity},{id},{message}' או
'{file}({line}):({חומרה}) {הודעה}'. תבניות מוגדרות מראש: gcc, vs
-v, --מִלוּלִי
דוחות שגיאות מפורטים יותר
--גִרְסָה
הדפס מידע על הגרסה
--xml
כתוב תוצאות ב-XML לזרם שגיאה
--xml-version=
בחר את גרסת קובץ ה-XML. כרגע גרסאות 1 ו-2 זמינות. ברירת המחדל
הגרסה היא 1.
השתמש ב-cppcheck באינטרנט באמצעות שירותי onworks.net