ויקימחשבים
Advertisement


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

התוכנית הראשונה[]

פתח את עורך הטקסטים המועדף עליך (או סביבת הפיתוח שלך), וכתוב שם:

#include <stdio.h>

int main()
{
  printf("Hello world\n");
  return 0;
}

מקוד זה ניתן לייצר תוכנית המדפיסה על המסך את המילים Hello world.

הסבר על הקוד[]

שורה 1[]

#include <stdio.h>

מוסיפים שורה זו לתוכניות שמבצעות פלט וקלט, כלומר, מתקשרות עם המשתמש דרך המסך והמקלדת.

בהמשך נראה שהשורה היא הוראה לקדם מעבד להכליל את הקוד בקובץ הנמצא בסוגריים (stdio.h במקרה הנ"ל) לשימוש בקוד הנכתב.

שורה 2[]

int main()

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

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

שורה 3[]

{

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

בהמשך נראה ששורה זו פותחת בלוק, כלומר אוסף הוראות או פקודות המהוות יחידת קוד אחת. במקרה זה הבלוק הוא של ההוראות השייכות לפונקציה main.

שורה 4[]

printf("Hello world\n");

שורה זו מדפיסה למסך את המילים "Hello world".

בהמשך נראה הסבר מפורט לשורה זו בפלט וקלט.

שורה 5[]

return 0;

שורה זו מודיעה למערכת ההפעלה שהכל התנהל כשורה.

בהמשך נראה ששורה זו קובעת את הערך המוחזר של הפונקציה main.

שורה 6[]

}

שורה זו מסמנת את סיום רצף הפקודות שאותו מבצעת התכנית.

בהמשך נראה ששורה זו סוגרת בלוק - במקרה זה, הבלוק של ההוראות השייכות לפונקציה main.

בניית והרצת התכנית[]

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

gcc בלינוקס או Cygwin[]

שמור את קוד התכנית בתיקיה שבה יש לך ההרשאות המתאימות. נהוג להשתמש בסיומת c לקבצי קוד כגון זה שכאן. נניח ששמרת את הקוד בקובץ שנקרא hello_world.c. כעת עלינו לבנות את הקוד ולהפכו לתכנית. פתח טרמינל, וכתוב:

gcc hello_world.c -o hello_world.out

אם ההידור יעבור בהצלחה, יווצר קובץ בשם hello.out. ניתן להריץ את התכנית ע"י כתיבה בטרמינל:

./hello_world.out

ותראה את המילים Hello world מודפסות.


0px

כדאי לדעת:

הסיבה לקידומת ה /. היא שבהפצות לינוקס רבות ברירת המחדל לא מאפשרת הרצה של קבצים באופן ישיר מתיקיית הבית של המשתמש. לעיתים זה מאופשר (תלוי בהפצה ובהגדרות המשתמש) ואז הקידומת הזו מיותרת.


באופן כללי בונים קוד בצורה:

gcc <source_file> -o <executable>

כאשר source_file הוא שם קובץ הקוד, וexecutable הוא שם קובץ התוכנית המתקבלת (ראה שימוש בסוגריים משולשים בסימונים בספר). מריצים בצורה:

./<executable>

כאשר executable הוא שם קובץ התוכנית.


Thumbs up

עכשיו תורך:

נניח ששמרת את הקוד בקובץ my_first_program.c, ואתה רוצה לבנות ממנו את הקובץ it_runs.out. כיצד תבנה, ומה תריץ?



סביבת פיתוח בחלונות[]

0px

כדאי לדעת:

ברוב סביבות הפיתוח בחלונות, הרצת תוכנית כזו תפתח חלון אשר ייסגר מיד לאחר סיום התכנית, דבר שעלול להקשות על קריאת הפלט. אם הדבר אכן קורה, הוסף שתי שורות לקוד, שיראה עתה כך:
#include <stdio.h>
#include <conio.h>

int main()
{
  printf("Hello world\n");
  getch();
  return 0;
}
לאחר הוספת שורות אלו, החלון יישאר פתוח עד שתקיש תו כלשהו. כך תוכל לראות את הפלט לפני שהחלון ייסגר.


Microsoft Visual Studio[]

אם אתם משתמש ב-Microsoft Visual Studio, תוכלו לפעול לפי הצעדים הבאים. על אף שקיימים הבדלים בין גרסות שונות, הם אינם משמעותיים. בגרסה 2005 ניתן לעשות זאת כך:

  • פרוייקט חדש – כנסו לתפריט File → New → Project...‎‏. מצאו תחת קטגוריה "Visual C++‎" את סוג הפרוייקט "Win32 Console Application" ובחרו אותו. הזינו שם לפרוייקט ואת המסלול בו תיווצר התיקיה של הפרוייקט. ניתן להוריד את הסימון "Create Directory for Solution", על מנת שתיווצר תיקייה אחת פחות. לחצו על OK. באשף שיפתח, עברו ל-Application Settings או לחצו על Next. בחלון זה סמנו את "Empty project" וסיימו עם לחיצת Finish. כעת נוצרה לכם תיקייה במסלול שהזנתם עם שם הפרוייקט ובה קבצים של הפרוייקט; כרגע הוא ריק.
  • יצירת קובץ C חדש – כדי ליצור קובץ C חדש, כנסו לתפריט Project → Add New Item...‎. מהחלון שנפתח בחרו את סוג הקובץ "C++ File" והזינו את שם הקובץ (לדוגמה main.c), זכרו להוסיף את הסיומת "‎.c" כדי שהקובץ יהודר כתוכנית C ולא כתוכנית C++‎.
  • הוספת קובץ C קיים – כדי להוסיף קובץ C קיים, רצוי תחילה להעתיקו לתיקיית הפרויקט. לאחר מכן יש לבחור מהתפריט Project → Add Existing Item...‎. בחלון שיופיע, יש לבחור את הקבצים שברצונכם להוסיף.
  • עריכת קוד – על מנת לערוך את אחד מקבצי הפרוייקט, יש ללחוץ עליו פעמיים בחלון "Solution Explorer".
  • הידור והרצה – כדי לבנות את הפרוייקט (להדר ולקשר), יש לבחור לבחור את Build → Build Solution. אם ההידור יעבור בהצלחה יווצר קובץ הרצה בתיקיית Debug בתוך תיקיית הפרוייקט. כדי להריץ תחת מנפה שגיאות יש לבחור את Debug → Start Debugging. אם יהיו שגיאות בזמן ההידור, הן תופענה בחלון Output או Task List. לחיצה כפולה על שגיאה תביא אותכם לשורה בה הייתה השגיאה.

לא צוינו כאן קיצורי המקשים, מכיוון שהם יכולים להשתנות. כמו כן תוכלו לשנות את ההגדרות (אם הן עדיין לא כאלה) כך שהפרוייקט יהודר אוטומטית בכל פעם כשאתם מריצים (לרוב על ידי מקש F5). במקרה זה, כדאי להגדיר כך שלא תורץ הגרסה האחרונה שהודרה במקרה שהיו שגיאות הידור בגרסה חדשה.

כברירת מחדל מהודרת גרסת Debug של הפרוייקט. בגרסה זו, המהדר אינו עושה אופטימיזציה; בנוסף, הוא משאיר מידע נוסף בקובץ ההרצה החיוני למנפה שגיאות, דבר המגדיל מעט את קובץ ההרצה. כאשר תרצו להדר גרסה סופית של הפרוייקט (כדי להפיצו למשל), תוכלו לבחור ב-Release במקום Debug (בתוך תיבה על סרגל הכלים הראשי).

כאשר תרצו להקטין את נפח הפרוייקט (למשל כשתגבוהו או תשלחוהו במייל), תוכלו לנקותו מתפריט Build → Clean Solution או למחוק ידנית את תיקיות ה-Debug וה-Release ואת הקבצים עם הסיומות: ncb, suo, user, aps.

השתמש בסביבת הפיתוח שלך כדי להדר את הקוד. אם ההידור יעבור בהצלחה, יווצר קובץ מתאים בעל סיומת exe, ויהיה ניתן להריצו.


סביבות פיתוח אחרות[]

השתמש בסביבת הפיתוח שלך כדי להדר את הקוד. אם ההידור יעבור בהצלחה, יווצר קובץ מתאים בעל סיומת exe, ויהיה ניתן להריצו.


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


הפרק הקודם:
הכנה
שלום עולם!
תרגילים
הפרק הבא:
הערות
Advertisement