הבדל בין תוכנית מקור לתוכנית אובייקט

תוכן עניינים:

הבדל בין תוכנית מקור לתוכנית אובייקט
הבדל בין תוכנית מקור לתוכנית אובייקט

וִידֵאוֹ: הבדל בין תוכנית מקור לתוכנית אובייקט

וִידֵאוֹ: הבדל בין תוכנית מקור לתוכנית אובייקט
וִידֵאוֹ: Lec: 2|| Define Source & Object Program | Language Translator (Assembler , Compiler, Interpreter )|| 2024, יולי
Anonim

ההבדל העיקרי בין תוכנית מקור לתוכנית אובייקט הוא שתוכנית מקור היא תוכנה הניתנת לקריאה על ידי מתכנת בעוד שתוכנית אובייקט היא תוכנת הפעלה מכונה שנוצרה על ידי הידור של תוכנית מקור.

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

מהי תוכנית המקור?

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

ההבדל בין תוכנית מקור לתוכנית אובייקט
ההבדל בין תוכנית מקור לתוכנית אובייקט
ההבדל בין תוכנית מקור לתוכנית אובייקט
ההבדל בין תוכנית מקור לתוכנית אובייקט

איור 01: תוכנית מקור

Visual Basic היא דוגמה לשפה מהודרת, בעוד ש-Java היא דוגמה לשפה מפורשת. קובצי מקור של Visual Basic (קובצי.vb) מורכבים לקוד.exe, בעוד שקובצי מקור של Java (קובצי java) מורכבים תחילה (באמצעות פקודת javac) ל-bytecode (קוד אובייקט הכלול בקבצי.class) ולאחר מכן מתפרשים באמצעות מתורגמן java (באמצעות פקודת java). כאשר יישומי תוכנה מופצים, בדרך כלל הם לא יכללו קבצי מקור. עם זאת, אם האפליקציה היא בקוד פתוח, המקור גם מופץ והמשתמש יכול לראות ולשנות גם את קוד המקור.

מהי תוכנית אובייקט?

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

כלים הידועים כמקשרים עוזרים לקשר קבוצה של אובייקטים לקובץ הפעלה (למשל שפת C). כפי שהוזכר לעיל קבצי.exe וקובצי bytecode הם קבצי אובייקט המיוצרים בעת שימוש ב-Visual Basic ו-Java בהתאמה. קבצי ה-.exe מופעלים ישירות על פלטפורמת Windows בעוד שקובצי bytecode זקוקים למתורגמן לביצוע.

רוב יישומי התוכנה מופצים עם האובייקט או קבצי ההפעלה בלבד. אפשר להמיר את האובייקט או קבצי ההפעלה בחזרה לקבצי המקור המקוריים שלו על ידי דה-קומפילציה. לדוגמה, כלי ה-decompiler יכולים לפרק קבצי java.class(bytecode) לקבצי ה-.java המקוריים שלו.

מה ההבדל בין תוכנית מקור לתוכנית אובייקט?

תוכנית מקור היא תוכנית קריא אנושית שנכתבה על ידי מתכנת. היא כתובה בשפות ברמה גבוהה יותר כמו Java או C. לכן, תוכנית מקור ניתנת לקריאה אנושית. זה לא מובן למכונה.

מצד שני, תוכנית אובייקט היא תוכנת הפעלה מכונה שנוצרה לאחר הידור של תוכנית מקור. הוא מכיל שפות ברמה נמוכה יותר כגון assembly או קוד מכונה. לכן, תוכנית האובייקט אינה ניתנת לקריאה על ידי האדם. זה מובן למכונה.

ההבדל בין תוכנית מקור לתוכנית אובייקט בצורת טבלה
ההבדל בין תוכנית מקור לתוכנית אובייקט בצורת טבלה
ההבדל בין תוכנית מקור לתוכנית אובייקט בצורת טבלה
ההבדל בין תוכנית מקור לתוכנית אובייקט בצורת טבלה

סיכום – תוכנית מקור לעומת תוכנית אובייקט

ההבדל בין תוכנית מקור לתוכנית אובייקט הוא שתוכנית מקור היא תוכנית קריא אנושית שנכתבה על ידי מתכנת בעוד שתוכנית אובייקט היא תוכנת הפעלה מכונה שנוצרה על ידי הידור של תוכנית מקור.

מוּמלָץ: