הבדל מפתח - זמן קומפילציה לעומת זמן ריצה
רוב התוכניות נכתבות באמצעות שפות תכנות ברמה גבוהה. לשפות התכנות הללו יש תחביר דומה לשפה האנגלית. שפות ברמה גבוהה ניתנות להבנה קלה לבני אדם אך אינן מובנות למחשב. לכן, יש להמיר את התוכנית הכתובה או את קוד המקור לפורמט מובן למכונה. זה נקרא קוד המכונה. פרק הזמן להמרת קוד המקור לקוד מכונה ידוע כזמן קומפילציה. משימות כגון ניתוח תחביר, ניתוח סמנטי ויצירת קוד מתרחשות בזמן הידור. פרק הזמן להפעלת קובץ ההפעלה שנוצר בזמן ההידור מכונה זמן ריצה.שניהם מונחים הקשורים לשלבי מחזור חיים שונים של התוכנית. מאמר זה דן בהבדל בין זמן הידור לזמן ריצה. ההבדל העיקרי בין זמן הידור לזמן ריצה הוא שזמן הקומפילציה הוא שלב מחזור חיי התכנות הממיר את קוד המקור לקובץ הפעלה בעוד זמן ריצה מתייחס לשלב מחזור חיי התכנות שמריץ את קובצי ההפעלה שנוצרו בזמן ההידור. השגיאות המתרחשות בזמן הידור ידועות כשגיאות בזמן הידור ושגיאות המתרחשות בזמן ריצה ידועות כחריגים.
מהו זמן קומפילציה?
המתכנת יכול לתת הוראות למחשב באמצעות שפת תכנות. רוב שפות התכנות בהן משתמש מתכנת הן שפות תכנות ברמה גבוהה. יש להם תחביר דומה לשפה האנגלית. שפות אלו ניתנות לקריאה ומובנות על ידי בני האדם. התוכנית שנכתבה באמצעות שפה ברמה גבוהה ידועה כקוד מקור. קוד המקור יכול להכיל קבוצה של שורות או שורות רבות בהתאם למשימה.ההוראות המסופקות בשפה ברמה גבוהה אינן מובנות למחשב. המחשב מבין את קוד המכונה. לכן, יש לקמפל את קוד המקור לתוך קוד מכונה כדי להיות תוכנית ניתנת להפעלה. שלב מחזור החיים של התכנות נקרא זמן קומפילציה. זהו פרק הזמן להשלמת תהליך הקומפילציה. הפעולות בזמן ההידור כוללות ניתוח תחביר, ניתוח סמנטי ויצירת קוד.
איור 01: זמן קומפילציה וזמן ריצה
במהלך ההידור, עלולות להתרחש שגיאות. הם מתרחשים עקב תחביר ושגיאות סמנטיות. שגיאות אלו נמנעות מהידור מוצלח.המהדר מציין לגבי שגיאות זמן ההידור. זה יציג הודעה באיזו שורה התרחשה השגיאה. כמה שגיאות נפוצות בזמן ההידור הן חסרות בסוגריים מסולסלים, מזהי איות שגוי ואיות של מילות מפתח. כאשר מתרחשת שגיאת קומפילציה, המתכנת צריך לתקן את השגיאה הזו.
מה זה זמן ריצה?
זמן הריצה ידוע גם כזמן ביצוע. זהו הזמן שבו תוכנית פועלת בניגוד לשלבי מחזור חיים אחרים של התוכנית כגון זמן קומפילציה, זמן טעינה וכו'. כאשר תהליך ההידור הושלם, הוא מופעל על ידי המשתמש. פרק הזמן להפעלת קובץ ההפעלה שנוצר בזמן ההידור מכונה זמן ריצה. ניתן להשתמש במונח זמן ריצה כדי להפנות לשגיאות. אפילו התוכנית מהדר כמו שצריך, יכולות להיות שגיאות.
שגיאות אלו לא יתנו את הפלט הצפוי. זה גם יכול להפסיק את הפעלת התוכנית. שגיאות אלו מתרחשות בזמן ריצה ולכן הן ידועות כשגיאות זמן ריצה או חריגות. שגיאות זמן ריצה מסוימות מחלקות מספר באפס כאשר המערך מחוץ לתחום ונגמר לו הזיכרון.
מהו הדמיון בין זמן קומפילציה לזמן ריצה?
שניהם זמן ההידור וגם זמן הריצה הם שלבי מחזור החיים של התוכנית
מה ההבדל בין זמן קומפילציה לזמן ריצה?
זמן קומפילציה לעומת זמן ריצה |
|
זמן ההידור הוא שלב מחזור חיי התכנות הממיר את קוד המקור לקובץ הפעלה. | זמן ריצה הוא הזמן שבו תוכנית פועלת, בניגוד לשלבי מחזור חיים אחרים של התוכנית, כגון זמן הידור, זמן קישור וזמן טעינה. |
שגיאות | |
שגיאות זמן קומפילציה הן שגיאות תחביר וסמנטיות. | שגיאות זמן ריצה ידועות כחריגים. |
סיכום – זמן קומפילציה לעומת זמן ריצה
זמן קומפילציה וזמן ריצה הם שני שלבים של מחזור חיי התכנות. מאמר זה דן בהבדל בין זמן קומפילציה לזמן ריצה. המרת קוד המקור של המתכנת לקוד מכונה מתרחשת בזמן ההידור. הפעלת קובץ ההפעלה שנוצר בזמן ההידור מכונה זמן ריצה. כאשר יש שגיאה בזמן ההידור, המהדר מציג הודעה בהתאם לשגיאה. אפילו התוכנית שהורכבה, ייתכן שהיא לא תיתן את התפוקה הצפויה. במקרה כזה, מדובר בשגיאת זמן ריצה או חריג. ההבדל בין זמן הידור לזמן ריצה הוא שזמן ההידור הוא שלב מחזור חיי התכנות הממיר את קוד המקור לקובץ הפעלה בעוד שזמן הריצה מתייחס לשלב מחזור חיי התכנות שמריץ את קובצי ההפעלה שנוצרו בזמן ההידור.