מדריך לכתיבת מנשק גרפי בעזרת gcc ו GTK

מטרת המדריך

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

למי מיועד המדריך

המדריך מיועד לתלמידים המתחילים את הלימוד התאורטי של שפת C, וזקוקים להדרכה כיצד לכתוב ולהדר את התכניות הראשונות שלהם במערכת GNU/Linux.

על איזו מערכת נבנה המדריך

המדריך נבנה על מערכת Ubuntu GNU/Linux אך כל מערכת לינוקס תתאים. הוראות ההתקנה המדוייקות ספציפיות למערכת מבוססת Debian GNU/Linux, אך ינתנו הסברים כלליים גם עבור מערכות אחרות.

דברים שצריך לאסוף לפני תחילת העבודה

  • - מהדר ל C וספריות בסיסיות, מאוחר יותר אפשר להוסיף עוד סיפריות וכלי פיתוח נוספים.

במערכות Ubuntu הפקודה הבאה תתקין את כל התכנות להן זקוקים בכתיבת תכנית C בסיסית:

  sudo apt-get install  build-essential

במערכות אחרות צריך להקפיד כי במערכת יהיה מותקן מהדר לשפת C ממשפחת gcc

  • - ספריות GTK עבור gcc.

במערכות Ubuntu הפקודה הבאה תתקין את כל הספריות להן זקוקים בכתיבת תכנית C מבוססת GTK

  sudo apt-get install gnome-devel

במערכות אחרות צריך להקפיד כי במערכת יהיו מותקנות ספריות GTK עבור gcc, בד”כ שמן יהיה libgtk2.0-dev או צרופים אחרים המכילים את השמות gtk gnome והסיומת dev

  • - ספר לימוד ל C

אם אתם תלמידים המחברת שלכם תספיק בהחלט, ספר לימוד טוב לא יזיק. כדאי לזכור כי לשפת C מדריכים רבים ברשת.

קישור למדריך ברשת

מהלך העבודה

כתיבת התכנית

את התכנית ניתן לכתוב בכל עורך טקסט. אנו נשתמש בדוגמה זו בעורך הטקסט של 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/.
תמונת מסך

כך צריכה להראות התכנית בעורך הטקסט ובמסוף בו אתם מבצעים את ההידור וההרצה.

gtk1.jpg

(לחץ על התמונה כדי לקבל תמונה מוגדלת)

איך להמשיך

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

מדריכי תכנות

מדריכי תכנות - אוסף מדריכי התכנות בפנגווין.

מדריכים/הכנת_מנשק_גרפי_בעזרת_gcc_ו_gtk.txt · שונה לאחרונה ב: 2008/06/19 18:34 (עריכה חיצונית)
chimeric.de = chi`s home Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0