ניקוי הגדרות ב-C

inkydinky

New member
ניקוי הגדרות ב-C

יש לי הרבה מאוד קוד ב-C, ב-unix. יש בקוד הרבה משתנים גלובאליים שמוגדרים כ-extern. אני מחפש תוכנה (לפני שאנסה לכתוב אחת כזו בעצמי) שיודעת לאתר משתנים שמוגדרים כ-extern ולא נעשה בהם שימוש. רצוי שהיא גם תדע לאתר משתנים, קבועים או define-ים (שלא הוגדרו כ-extern) שלא נעשה בהם שימוש. אולי אפילו פונקציות, אם כבר אני חושב על דברים כאלה. התוכנה, אגב, יכולה להיות ב-windows (ואף רצוי שהיא תהיה כזו) כי כל הקבצים הם mounted. רצוי גם שהיא תהיה תוכנת חינם, או לפחות shareware שאפשר לעבוד איתו לזמן מוגבל. תודה.
 

vinney

Well-known member
קוראים לזה "קומפיילר"

פחות מזה לא ימצא לך את מה שאתה צריך.
 

orennahum

New member
ישנם קומפיילרים שלא עושים את זה

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

vinney

Well-known member
נכון

לא אמרתי "כל קומפיילר". עקרונית גם לינקר יכול לזהות את זה.
 

inkydinky

New member
הקומפיילר לא מוצא אצלי תמיד

היו מקרים שבהם הוא מצא הגדרות משתנים שלא בשימוש, אם אני לא טועה. אולי גם זה לא. בכל מקרה, הגדרות extern שאינן בשימוש הוא לא מצא.
 

annefan

New member
lint

או splint, או אם יש לך או לחברה שלך כסף (280$) PC-Lint. היא יודעת לעשות הרבה יותר מזה, אבל גם את זה. לגבי defines, כשעשיתי עבודה כזו השתמשתי ב-perl.
 

inkydinky

New member
נפלא

זה עושה הרבה יותר משעלה בדעתי. לא ידעתי שיש profilers ל-C. חשבתי שזה קטע חדש שהגיע עם Java וכד'. נו, מילא. חבל רק שלפי התיאור - זה לא יודע למצוא extern-ים שלא בשימוש ו-define-ים שלא בשימוש. הורדתי את splint ולא ממש הצלחתי להסתדר איתה מול קוד מאולתר אצלי. אני אנסה בעבודה לעבוד עם lint (אני מקוה שזה מגיע עם Sun Solaris). למזלי כל קבצי ה-h זרוקים באותה ספרי כמו קבצי ה-c. אני מקוה שזה יעבוד ויהיה מועיל. תודה. עכשיו גם יהיה לי יותר קל לחפש תוכנות דומות לזו (ואני מקוה שיהיה להן ממש גרפי).
 
למעלה