דוגמאות קוד
דף זה כולל מספר דוגמאות קוד בלינוקס שנתנו במהלך קורסים בסיסיים לתכנות בלינוקס למערכות משובצות מחשב.
דוגמאות אלו הן דוגמאות בסיסיות ביותר. בכל קובץ נעשה מאמץ לתת אך ורק את הדברים הרלוונטיים לאותה דוגמה על מנת לעשות את הקוד קצר וקריא ככל האפשר.
חלק מהדוגמאות נלקחו ממקומות אחרים והותאמו לצרכי הלקוחות שלנו, כמובן שקרדיט מתאים ניתן בראש הקובץ.
נשמח לקבל דוגמאות נוספות ולעדכן דף זה לטובת כל הקוראים.
בכל דוגמה יופיע קרדיט לשולח.
הדוגמאות חייבות להיות משוחררות ברשיון GPL או BSD על מנת להיות משולבות בדף זה.
את הדוגמאות יש לשלוח לכתובת: info@helicontech.co.il
Posix threads and semaphors
בדוגמה זו נציג יצירת תהליך ושמירה על סדר ביצוע בעזרת סמפור. התכנית הזו תציג את המחרוזת הידועה Hello world בשני תהליכים, כל אחד יציג מילה.
דוגמה זו מבוססת על דוגמה של גלעד בן יוסף מחברת codefidence.
תור הודעות posix
דוגמה זו היא תוכנית אחת המאפשרת הן שליחה והן קבלה של הודעות.
יש להפעיל את התכנית פעמיים פעם כלקוח ופעם כשרת, אופציות ההפעלה ניתנות בהערות בקוד.
תכנית זו מדגימה גם שימוש בפונקציה getopt לקריאת פרמטרים משורת הפקודה.
כתיבה לזכרון משותף ב System V
דוגמה זו משמשת להדגמת אחת משיטות הקשר בין תהליכים בלינוקס. שיטת הזכרון המשותף.
יש מספר דרכים ליצור זכרון משותף. תכנית זו משתמשת בשיטה המקובלת בגרסה 5 של מערכת יוניקס.
תכנית זו בנויה לעבודה עם תכנית הקריאה הנתונה בדוגמה הבאה.
התכנית תכתוב כל שורה עד לשורה המכילה את המילה exit.
קריאה מזכרון משותף ב System V
דוגמה זו משמשת להדגמת אחת משיטות הקשר בין תהליכים בלינוקס. שיטת הזכרון המשותף.
יש מספר דרכים ליצור זכרון משותף. תכנית זו משתמשת בשיטה המקובלת בגרסה 5 של מערכת יוניקס.
תכנית זו בנויה לעבודה עם תכנית הכתיבה הנתונה בדוגמה הקודמת.
התכנית תדפיס כל שורה שנקראה בתכנית הכתיבה, עד לשורה המכילה את המילה exit.
טיימרים ואותות
דוגמה זו מציגה את השימוש באותות של שפת C תוך שימוש בטיימרים למדידת זמן.
התכנית מודדת את מספר הפעמים בה מתבצעת לולאה אינסופית. המדידה מתבצעת על ידי הגדלת משתנה בתוך הלולאה.
טיימר שהותקן לפני הלולאה שולח אות מסוג SIGALRM שגורם למערכת להדפיס את ערך המשתנה כל שנייה.