30-06-2006, 21:37
|
|
|
|
חבר מתאריך: 12.03.03
הודעות: 2,176
|
|
השאלה הזאת חוזרת ונשאלת הרבה פה בפורום
החלטתי לכתוב כאן בפירוט את כל הרכיבים שדרושים לפיתוח ב-C/ C++.
(למנהלים: תשקלו להכניס לארכיון)
C ו- C++ נקראות שפות תיכנות עיליות. קוד שנכתב בשפות אלו צריך לעבור תהליך שנקרא קומפילציה (או הידור בעברית). תהליך ההידור עובר על הקוד שכתבת בשפת התיכנות, בודק שהכל תקין ושהכל נכתב לפי חוקי השפה. במידה ואכן הקוד תקין לגמרי הוא הופך את הקוד לקובץ בינארי, קובץ שמכיל הוראות שהמעבד יודע לבצע.
(לרוב לפני ההידור ישנו תהליך שנקרא pre-processing, ה pre-processor עובר על הקוד ומחפש את השורות שמיועדות עבורו, אלו כל השורות שמתחילות ב-#.)
לאחר תהליך ההידור ישנו תהליך שנקרא קישור (Linkage). תהליך זה יוצר מהקובץ הבינארי שהמהדר יצר קובץ בר הרצה (EXE / DLL וכו'). במידה והתוכנית המהודרת מורכבת ממספר קבצי קוד, כל אחד מהם יעבור תהליך הידור בנפרד, והקישור בניהם יתבצע איך לא בתהליך הקישור.
איך יוצרים קבצי קוד מקור?
בעיקרון אפשר ליצור קובץ קוד עם כל עורך טקסט פשוט, אפי' notepad. אבל כדי שיהיה נוח למתכנתים לערוך את קבצי הקוד שלהם פותחו עורכים יותר מתקדמים המותאמים במיוחד לצורך פיתוח קוד (למשל: VIM, EditPlus, Emacs ועוד רבים). העורכים האלה כוללים כל מיני תכונות נחמדות כגון Syntax Hilighting, השלמות אוטומטיות, קיצורי מקשים וכו'.
ישבו אנשים וחשבו כיצד אפשר להפוך את תהליך הפיתוח ליותר נוח, וכך התחילו לצוץ בשוק תוכנות שהם בעצם סביבת פיתוח (IDE). ה-IDE כוללת בתוכה עורך טקסט מותאם לשפה, Compiler (מהדר), Linker, ולרוב גם Debuger. הרעיון ב-IDE הוא שלא תצטרך לערוך את הקוד בתוכנה אחת, להדר אותו עם תוכנה אחרת, ללנקג' אותו עם תוכנה נוספת, ובסוף כשאתה מגלה שהתוכנה לא עובדת כמו שצריך לדבג אותה עם תוכנה אחרת. ב-IDE הכל מרוכז במסך אחד, מעוצב, נוח ויפה, כך שבליחצת כפתור תוכל להדר, ללנקג', להריץ ולדבג את התוכנה שלך.
דוגמאות לסביבות פיתוח מוכרות, הכוללות את כל רכיבי התוכנה הדרושים לפיתוח:
C++ Builder של Borland (לא חינמי) :
http://www.borland.com/us/products/cbuilder/index.html
- Visual Studio של Microsoft (לא חינמי) :
http://msdn.microsoft.com/vstudio/
- ++Dev C של Blood של Bloodshed (חינמי) :
http://www.bloodshed.net/devcpp.html
- Kdevelop ללינוקס:
http://www.kdevelop.org/
|