מטרת מדריך זה להשלים את הפער בין החומר התאורטי הנלמד בכתה או מספר לימוד, לבין העבודה המעשית על המערכת.
המדריך מיועד לתלמידים המתחילים את הלימוד התאורטי של שפת C, וזקוקים להדרכה כיצד לכתוב ולהדר את התכניות הראשונות שלהם במערכת GNU/Linux.
המדריך נבנה על מערכת Ubuntu GNU/Linux אך כל מערכת לינוקס תתאים. הוראות ההתקנה המדוייקות ספציפיות למערכת מבוססת Debian GNU/Linux, אך ינתנו הסברים כלליים גם עבור מערכות אחרות.
עברו על המדריך לכתיבת תכנית בשפת C ובשימוש במהדר gcc ובדקו שאתם שולטים בכתיבה, הידור והרצה של תכניות C פשוטות:
לצורך העבודה עם המדריך כדאי להתקין גם את חבילות הפיתוח של gnome המתקינות את תכנת pkg-config וספריות נוספות.
כמו שראינו במדריך לשימוש ב gcc, הידור בעדרת פקודות ישירות ל gcc עלול להיות מורכב כאשר לתכנית שלנו יש תלויות רבות. לשם כך נבנו מספר מערכות שבאות למכן את התהליך, מדריך זה ידגים שימוש ב pkg-config לצורך הכנת דגלים מתאימים למהדר gcc לפי התלויות שנגדיר מראש.
כאשר מריצים את הפקודה pkg-config בשורת הפקודה, היא מחפשת אלו דגלים צריך לתת למהדר gcc כדי להדר תוך שימוש בספריות שהגדרנו.
pkg-config מקבל את שם הספריה או הספריות להן אנו זקוקים במהלך הידור התכנית שלנו ורשימה של אפשרויות. האפשרויות אומרות ל pkg-config אזה סט של דגלים אנו רוצים.
האפשרות help תדפיס עבורנו רשימה של אפשרויות:
pkg-config --help
צורת שימוש רגילה:
pkg-config [options] library-name
אפשרויות חשובות:
שימוש ב help יגלה עוד דגלים.
אנו נכתוב תכנית שזקוקה לספריות gtk+-2.0 כדי להתהדר כראוי, לצורך כך נשתמש ב pkg-config ונבקש ממנו את כל הדגלים הדרושים גם להידור וגם לקישור:
pkg-config --libs --cflags gtk+-2.0
את התכנית ניתן לכתוב בכל עורך טקסט. אנו נשתמש בדוגמה זו בעורך הטקסט של Gnome.
כתוב תכנית פשוטה בעורך הטקסט,
קוד:
/*code*/ #include <gtk/gtk.h> static gboolean on_delete_event( GtkWidget *widget, GdkEvent *event, gpointer data ) { gtk_main_quit (); return FALSE; } static void on_button_clicked (GtkWidget *widget, gpointer data) { g_print ("Hello World\n"); } int main (int argc, char *argv[]) { GtkWidget *window; GtkWidget *button; gtk_init (&argc, &argv); window = gtk_window_new (GTK_WINDOW_TOPLEVEL); g_signal_connect (G_OBJECT (window), "delete_event", G_CALLBACK (on_delete_event), NULL); button = gtk_button_new_with_label ("Press Me"); g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (on_button_clicked), NULL); gtk_container_add (GTK_CONTAINER (window), button); gtk_widget_show (button); gtk_widget_show (window); gtk_main (); return 0; } /* code */
אנו נהדר את התכנית בעזרת מהדר gcc, מתוך המסוף (ראה תמונת מסך בסוף המדריך) ונשתמש בתכנת העזר pkg-config כדי להורות ל gcc להשתמש בספריות של gtk
gcc `pkg-config --libs --cflags gtk+-2.0` helloworld.c -o helloworld
קוד:
helloworld/.
כך צריכה להראות התכנית בעורך הטקסט ובמסוף בו אתם מבצעים את ההידור וההרצה.
(לחץ על התמונה כדי לקבל תמונה מוגדלת)
בהמשך העבודה בודאי תרצו להתקין כלי פיתוח נוספים וספריות פיתוח חדשות. אפשר למצוא מדריכים לשימוש בכלים אלו ברשת ופה באתר.
מדריכי תכנות - אוסף מדריכי התכנות בפנגווין.