30
תתתת תתתתתת תתתתתת תתתת תתתתתת תתתתתת1

עבודה עם Eclipse

Embed Size (px)

DESCRIPTION

עבודה עם Eclipse. מבוא לתכנות מערכות. IDE – סביבת פיתוח. בניגוד לכלים שראינו עד עכשיו סביבת פיתוח היא תוכנה המנסה לאגד מספר כלים תחת מנשק אחיד. למשל: Turbo C++ , Dev C++ ו- Visual Studio הן סביבות פיתוח לתכנות ב- C/C++ (בין השאר). סביבות פיתוח. מכילות קיצורים . - PowerPoint PPT Presentation

Citation preview

Page 1: עבודה עם  Eclipse

מבוא לתכנות מערכות

1מבוא לתכנות מערכות

Page 2: עבודה עם  Eclipse

בניגוד לכלים שראינו עד עכשיו סביבת פיתוח •היא תוכנה המנסה לאגד מספר כלים תחת

מנשק אחיד. הן Visual Studio ו-++Turbo C++, Dev Cלמשל: –

)בין השאר(.++C/Cסביבות פיתוח לתכנות ב-

2מבוא לתכנות מערכות

Page 3: עבודה עם  Eclipse

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

אל תוותרו על השימוש בסביבת עבודה. •יתרונותיהן עולים פי כמה מונים על

ירוק = חסרונותיהן.טוב

ירוק = טוב

אדום = רע

אדום = רע

3מבוא לתכנות מערכות

Page 4: עבודה עם  Eclipse

•Eclipse היא סביבת עבודה לתכנות בשפות שונות.

.Eclipse CDTלאורך הקורס נשתמש ב-•.++C/Cתוספת המאפשרת כתיבת תוכניות –

4מבוא לתכנות מערכות

Page 5: עבודה עם  Eclipse

ישירות מאתר הקורס. )גרסה Eclipse CDTניתן להוריד את •(Windowsזו הינה עבור

גרסה זו כוללת בתוכה כלים נוספים שבד"כ דורשים התקנה –נפרדת:

Windows ל-gccגרסה של •Windows ל-gdbגרסה של •

לאחר ההורדה צריך פשוט לפתוח את הקובץ המכווץ לתיקיה •כלשהי.

אין צורך בהתקנה.–

באתר הרשמי:Eclipseניתן להוריד גרסאות אחרות של •

http://www.eclipse.org/ 5מבוא לתכנות מערכות

Page 6: עבודה עם  Eclipse

תדרשו לבחור Eclipseבהפעלה הראשונית של •.workspace שתשמש כ-(directory)תיקיה

יכיל בתוכו את כל הפרוייקטים workspaceה-•וההגדרות המותאמות אישית.

ניתן לגבות את ספריה זו או להעבירה בין מחשבים –בקלות.

6מבוא לתכנות מערכות

Page 7: עבודה עם  Eclipse

בכדי לכתוב קוד ולהריץ אותו עלינו ליצור •פרוייקט תחילה.

פרוייקט מכיל:•קבצי המקור של הקוד–הגדרות עבור הפרוייקט )למשל דגלי הקומפילציה –

הדרושים(קבצים נוספים–

7מבוא לתכנות מערכות

Page 8: עבודה עם  Eclipse

על מנת ליצור פרוייקט נבחר • ,New, ובו נבחר Fileבתפריט

C Project.אם סוג הפרוייקט אינו מופיע יש –

ולבחור …Projectלבחור ב-בסוג המתאים בחלון שיופיע.

ניתן לפרוייקט שם ונבחר • executable, emptyב-

project.

8מבוא לתכנות מערכות

Page 9: עבודה עם  Eclipse

נוסיף עכשיו קובץ ראשון לפרוייקט.•

)עבור Source File ולבסוף ב- File,Newנבחר ב-•(.h )עבור קובץ Header File( או cקובץ

עבור מערכת הבנק שלנו נוסיף את הקבצים הבאים:•–account.h קובץ מנשק המגדיר את העצם Account.–account.c קובץ קוד מקור המממש את Account.–main.c קובץ זה יכיל את ניתוח הפקודות ועיבוד מאגר

הנתונים.

9מבוא לתכנות מערכות

Page 10: עבודה עם  Eclipse

הקבצים יופיעו בחלון • Project Explorerה-

עתה.

לחיצה כפולה על •קובץ קיים תפתח

אותו בעורך הטקסט במרכז המסך.

כעת אנו יכולים •להתחיל לרשום את

התכנית שלנו.

10מבוא לתכנות מערכות

Page 11: עבודה עם  Eclipse

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

ותכיל עוד פעולות מכינות )של קבצי נתונים הדרושים לתוכנה למשל(

Project, Buildכדי לבנות את הפרוייקט יש לבחור ב-•Project.

אשר יגרום לבניית כל הפרוייקטים Build Allניתן לבחור גם ב-–.Ctrl+Bהפתוחים. לפעולה זו קיים גם מקש קיצור

במקרה הטוב: לאחר הבנייה יתווסף קובץ בינארי חדש אותו •נוכל להריץ.

במקרה הרע: נצטרך לטפל בשגיאות קומפילציה קודם.•

11מבוא לתכנות מערכות

Page 12: עבודה עם  Eclipse

והפלט של הקומפיילר בחלון Eclipseניתן לראות את כל הפקודות שהורצו ע"י •Consoleה-

לכל שגיאה או אזהרה •יוצג סימון בקוד בשורה

המתאימה.

בנוסף יוצג סימון ליד •פס הגלילה של הקובץ

המראה את כל השגיאות שנמצאו בו.

לחיצה על סימון זה –תקפוץ לשגיאה

המתאימה

12מבוא לתכנות מערכות

Page 13: עבודה עם  Eclipse

בכדי לנווט בקלות בין •השגיאות ניתן להשתמש

.Problemsבחלון ה-

בחלון זה ניתן לראות את •כל השגיאות והאזהרות

הידועות ולקפוץ לכל אחת ע"י לחיצה כפולה.

אם חלון זה אינו פתוח •ניתן לפתוח אותו בעזרת

Window, Show View ,ולבחור

.General, Problemsב-

13מבוא לתכנות מערכות

Page 14: עבודה עם  Eclipse

אם התבצעו שינויים בקוד •התכנית תקומפל מחדש.

הקלט והפלט של •התכנית יופנו לחלון

.Consoleה-.טורקיזקלט יופיע בצבע –פלט יופיע בצבע שחור.–פלט לערוץ השגיאות –

.אדוםיופיע ב

לאחר הבנייה הראשונית נוכל להריץ את התכנית שלנו •Run, Run as, Local C/C++ Applicationע"י בחירה ב-

14מבוא לתכנות מערכות

Page 15: עבודה עם  Eclipse

)ניתן לעצור את ההרצה ע"י כפתור העצירה ) •.Consoleבחלון ה-

ניתן להריץ את התכנית האחרונה שהורצה ע"י בחירה •.Ctrl+F11 או ע"י לחיצה על Run ובו בחירה ב-Runבתפריט

פעולות הפלט Windowsבגלל הגבלה של מערכת ההפעלה • ברגע ביצוען, ניתן Consoleאינן מתבצעות ישירות לחלון ה-

לפתור בעיה זו ע"י הוספה זמנית של שורות אלה בתחילת התכנית:

setvbuf(stdout, NULL, _IONBF, 0);setvbuf(stderr, NULL, _IONBF, 0);setvbuf(stdout, NULL, _IONBF, 0);setvbuf(stderr, NULL, _IONBF, 0);

15מבוא לתכנות מערכות

Page 16: עבודה עם  Eclipse

Eclipseלכל הרצה של פרוייקט •שומר קונפיגורציה בה ניתן

להגדיר פרמטרים כאלו. נוצרה Run Asכאשר בחרנו ב-–

קונפיגורציה כזו באופן אוטומטי.

כדי לערוך קונפיגורציות נבחר•.Run, Run Configurationsב-בחלון זה מוצגות בצד כל –

הקונפיגורציות הקיימות.לאחר בחירה בקונפיגורציה ניתן –

לערוך את ערכיה. Argumentsלמשל בחירה ב-–

תאפשר הוספת הפרמטר להרצת התכנית.

> bank.exe database.txt> bank.exe database.txt

בד"כ נרצה לשלוט בפרמטרים עבור הרצת התכנית.•למשל תכנית הבנק שלנו צריכה לקבל בשורת הפקודה את שם קובץ מאגר –

הנתונים:

16מבוא לתכנות מערכות

Page 17: עבודה עם  Eclipse

כדי לגרום לקומפילציה בהתאם •לכללים בקורס נצטרך לעשות

את הדברים הבאים: ,C/C++ Buildבחירה ב-–

Settings. ,GCC C Compilerתחת –

Warnings:Werrorנסמן את •pedantirc-errorsנסמן את • אינו מסומן, נסמן גם Wallאם •

אותו.:Miscellaneousתחת –

-“ :other flagsנוסיף ב-•std=c99”

,Projectניתן לשנות מאפיינים שונים של הפרוייקט ע"י בחירה ב-•Properties.

למשל שליטה בדגלי הקומפילציה שבהם נשתמש.–

17מבוא לתכנות מערכות

Page 18: עבודה עם  Eclipse

objectכדי להוסיף קבצי • ,Linkerנבחר ב-

Miscellaneous.

בחרו Other Objectתחת –הוספה.

בחרו את הקובץ –המתאים.

הערה: אם מופיעות בעיות –קישור, שימו את קובץ

בספרית objectה-הפרוייקט הראשית ופשוט

כתבו את שמו בחלון הוספת הקובץ.

, לתהליך הקישור.objectאפשרות חשובה נוספת היא ספריות, קבצי •

18מבוא לתכנות מערכות

Page 19: עבודה עם  Eclipse

•Content Assist Ctrl+Spaceמופעלת בעזרת –

)ואוטומטית במקרים מסוימים(

מנסה להשלים את הביטוי –הנוכחי בצורה הגיונית:

שמות משתנים המוגדרים •בבלוק, שמות פונקציות, שמות

וכו'...include# בפקודות hקבצי

לא תמיד מצליחה – גם אם •ההצעה שאתם מחפשים לא

מופיעה עדיין ייתכן שהקוד שלכם תקין.

מציגה את התוצאות בחלון צף •)בחירת אפשרות עם מקשי

או העכבר(Enterהחצים ו-

אם יש אפשרות יחידה משלימה •את המילה אוטומטית.

19מבוא לתכנות מערכות

Page 20: עבודה עם  Eclipse

•Word Completion: משלימה מילים ללאהקשר.

+/Altמופעלת בעזרת –משלימה את המילה לפי המילה המתאימה –

האחרונה שנצפתה בטקסט יחליפו את המילה +/Altלחיצות נוספות על –

המושלמתעובדת תמיד )גם בהערות או מאקרו למשל(–

20מבוא לתכנות מערכות

Page 21: עבודה עם  Eclipse

הבאת סמן עריכת הטקסט למילה •מסוימת יאיר את כל ההתייחסויות

לאותה מילה.

רק התייחסויות אשר אכן מתייחסות •לאותה ישות בקוד.

למשל משתנה מקומי יואר רק –בפונקציה המתאימה.

בנוסף כל ההתייחסויות בקובץ יסומנו •בריבועים אפורים מימין לציר הגלילה

האנכי.

תכונה זו מאפשרת מעקב אחרי הקוד.•למשל מציאה קלה של השורות בהן –

משתמשים שמתנה המקומי.

מסוגלת לנתח את הקוד ולצבוע מילים בקוד לפי הגדרתם.Eclipseבנוסף •.בצבע כחול מוטהערכים קבועים למשל יופיעו –.גוון ירוקשמות טיפוסים מוכרים יופיעו ב–אם המילה אינה מופיעה בצבע המתאים כנראה שקיימת טעות כתיב או שגיאה כלשהי.–

21מבוא לתכנות מערכות

Page 22: עבודה עם  Eclipse

•Eclipse:עוקבת אחרי המטלות הפרוייקט מטלות יסומנו בצידי הקובץ בכחול.–ניתן לראות את רשימת כל המטלות בפרוייקט –

ולקפוץ אליהן.Tasksבחלון

ניתן להוסיף תגיות נוספות ע"י בחירה •+C/C ושם בחירה ב-Window, Preferencesב-

+, Task Tags.

במקרים רבים נהוג לרשום הערות בקוד •עבור דברים שיתבצעו מאוחר יותר

למשל מחיקת קוד זמני לפני הגשת תרגיל–

ניתן FIXME או TODOע"י רישום המילים •לסמן הערה כמטלה.

22מבוא לתכנות מערכות

Page 23: עבודה עם  Eclipse

לחיצה על כפתור ימני תפתח •תפריט עם אפשרויות נוספות

לפריט זה.

ניתן לסדר מחדש את •הפריטים בקובץ ע"י גרירתם

בחלון זה.

לאחר שמתרגלים לקפוץ • Eclipseלהקשרים שונים ב-

כדאי לדעת גם את הקיצור Alt←+ שחוזר להקשר

בדפדפן(backהקודם )כמו

מראה את מיתאר הקובץ הנוכחי ומאפשר ניווט נוח בו.Outlineחלון ה-•.General, Outline ובחירה ב-Window, Show viewאם הוא אינו מופיע ניתן להחזירו ע"י –

לחיצה על פריט בחלון תקפוץ לחלק המתאים בקובץ.•

23מבוא לתכנות מערכות

Page 24: עבודה עם  Eclipse

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

ניתן Open Declarationע"י בחירת משתנה, פונקציה, טיפוס וכו' ובחירה ב-•לקפוץ אל המקום בוא הוא הוגדר לראשונה

ניתן לבצע פעולה זו במספר •רב של דרכים, שתיים

חשובות הן:לחיצה על כפתור ימני על –

Openהטקסט ובחירה ב-Declaration.

ולחיצה Ctrlהחזקת מקש ה-– על המילה עם העכברהמתאימה.

מוחזק Ctrlבזמן שמקש ה-כל מילה שניתן לקפוץ ממנה

תיראה כמו קישור מתחת לסמן העכבר.

24מבוא לתכנות מערכות

Page 25: עבודה עם  Eclipse

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

לכללים מסוג זה וכללים נוספים המגבילים את סגנון –.Code Conventionsקוראים גם

לפרמט Eclipse תגרום ל-Ctrl+Shift+Fלחיצה על •מחדש את כל הטקסט הנבחר.

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

25מבוא לתכנות מערכות

Page 26: עבודה עם  Eclipse

ניתן לבחור סגנון –מוכן מראש.

ניתן לערוך סגנון –מותאם אישית.

ניתן לבחור את הכללים לפיהם הקוד יעוצב•.C/C++,Code Style ובחירה ב-Window, Preferencesמ-

26מבוא לתכנות מערכות

Page 27: עבודה עם  Eclipse

מדי שורות ארוכות מומלץ להימנע מ•בקוד.

הסיבה העיקרית: מפריעות לקריאות.–לכן על אורך שורה בקורס לא לעלות על –

תווים.80 מהווה פשרה נוחה וגם 80המספר –

מבטיח ששורת קוד לא תישבר בהדפסה.

ניתן להוסיף קו אנכי בעורך הטקסט • 80אשר יסמן מתי שורה חורגת מ-

תווים. Window, Preferencesבוחרים ב-–

General, Editors, Textובחירה ב-Editors.

Show print marginיש לסמן את – Print marginולוודא שערכו של

column 80 הוא.

27מבוא לתכנות מערכות

Page 28: עבודה עם  Eclipse

מציגה בעץ את קשרי קריאת הפונקציות.•בעזרת תצוגה זו ניתן לראות •

בקלות מהיכן נקראת כל פונקציה.

לאתר פונקציות שאינן בשימוש.•

למצוא את ההשפעה של •שינויים.

כדי להגיע לחלון זה יש לבחור •שם של פונקציה, ללחוץ על

כפתור ימני ולבחור ב-Open Call Hierarchy

28מבוא לתכנות מערכות

Page 29: עבודה עם  Eclipse

•Refactoring הוא שם כולל לטכניקות של עריכת קוד לשם שיפורו.

•Eclipse תומכת במספר פקודות הנועדו לשימושים כאלה.

פקודות אלו מנתחות את הקוד הקיים ומבצעות •בו שינויים.

29מבוא לתכנות מערכות

Page 30: עבודה עם  Eclipse

•Rename:משנה שם של משתנה/פונקציה/טיפוס בקוד.–משנה אותו בכל קבצי הפרוייקט.–לא מתבלבלת )למשל שם משתנה מקומי ישתנה –

רק בפונקציה המתאימה(.Refactorניתנת להפעלה מתפריט –

•Rename in file:גרסה זו של הפקודה משנה רק את ההתייחסויות –

לשם זה בקובץ הנוכחי.יתרונה באפשרות עריכה "חיה".– ובחירהCtrl+1מופעלת ע"י –

Rename in fileב-

Refactoringקיימות אפשרויות נוספות ל-• אך הן נותנות תוצאות Refactorבתפריט ה-

.Cטובות רק ב-++.Cאתם מוזמנים לנסות אותן לאחר שנלמד ++–

30מבוא לתכנות מערכות