תכנות
—
שיעור 116
13/May/2010
פיצול תכנית C לקבצים
הדגמנו כיצד ניתן לפצל תכנית C למספר קבצים.
-
הגדרות והצהרות משותפות - עוברות לקבצים עם סיומת
.h
אלה נקראים
header files.
-
בתכנית של קובץ מקור אחד, gcc שִמש אוטומטית לשתי פעולות:
-
Compilation
(הִדוּר)
—
הפיכה משפת מקור לשפת מכונה. מקבצי
.c
לקבצי
.o
-
Linking
(קִשוּר?)
—
חיבור תרגום לשפת מכונה וספריות תקניות לקובץ ביצוע
(eXecutable file).
עתה, עם מספר קבצי מקור יש להפריד את התהליך.
כל קובץ "מקומפל" בנפרד משפת מקור לשפת מכונה,
מקבצי
.c
לקבצי
.o
ולאחר מכן linking
חיבור קבצי
.o
(וספריות תקניות) לקובץ ביצוע
(eXecutable file).
תרגילים
-
הורד ופתח את
pdb-v7.tar.gz
במדריך
(directory)
חדש ונקי. הרץ
./pdb-comp.sh
שאמור לבנות את התכנית
pdb-v7.
-
-
קרא את הקובץ
./pdb-comp.sh
והבן את שלבי בניית התכנית.
-
הרץ את התכנית, כמו בפעמים הקודמות בטרם הפיצול. ודא שהיא עובדת.
-
התכנית פוצלה לארבעה קבצים, עבור עליהם והבן מה עבר לאן. שים לב לשורות:
#include "foo.h"
-
(במדריך נקי וחדש, לאחר העתקה) המשך בפיצול התכנית ושנה את הגירסא מ- v7 ל- v8.
בדומה ל
personio.h personio.c
הוצא את פונקציות המיון לקבצים
personsort.h personsort.c
ובהתאם, עדכן את
./pdb-comp.sh
-
ארוז את הקבצים לפתרון על ידי:
tar -c -z -f pdb-v8.tar.gz pdb-comp.sh *.h *.c
חזרה לעמוד האם