לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

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



  #4  
ישן 17-04-2008, 19:30
  זוהי יונה זוהי יונה אינו מחובר  
 
חבר מתאריך: 10.04.08
הודעות: 87
בתגובה להודעה מספר 3 שנכתבה על ידי karate crembo שמתחילה ב "בכל זאת, אני מניח שאת המערכת..."

את המהדר של שפת C#‎ הידרו ב-C#‎ עצמה, אבל הרי את המהדר של C#‎ עשו ב-C#‎ אז מאיפה הגיע המהדר הראשון של C#‎? לא יכול להיות שהוא הודר ב-C#‎! אותו כנראה כתבו ב-C++‎. מהדרים מודרניים של C++‎ הודרו ב-C++‎ עצמה, אבל מאיפה הגיע מהדר ה-C++‎ הראשון? הוא יוצר על-ידי CFRONT (לדוגמה). CFRONT היה כלי שהפך קוד C++‎ לקוד C, ואז קוד C הודר באמצעות מהדר C. מהדרי ה-C++‎ הראשונים היו רחוקים מלתמוך בשפה שאנחנו מכירים כ-C++‎, אבל ברגע שיש לך מהדר C++‎ פשוט, באמצעותו אתה יוצר אחד טוב יותר.

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

זה כל הסיפור של bootstrapping לגבי קומפיילרים.


עכשיו לגבי מערכות הפעלה: קומפיילר של C, לדוגמה, לא באמת תלוי במערכת ההפעלה. הספריה הסטנדרטית של C תלויה במערכת הפעלה (איך עושים printf? - תלוי במערכת ההפעלה), אבל השפה עצמה לא ממש תלויה במערכת ההפעלה (איך עושים a=b? בעזרת אותן פקודות מכונה על כל מערכות ההפעלה למחשב מסוים; איך קוראים לפונקציה? כנ"ל). הרבה מערכות הפעלה פשוט נכתבו ב-C, בלי ספריה סטנדרטית: כל הקלט והפלט מומש לבד. כל ניהול הזיכרון מומש לבד. threading מומש לבד. וכו'.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #6  
ישן 17-04-2008, 22:08
  זוהי יונה זוהי יונה אינו מחובר  
 
חבר מתאריך: 10.04.08
הודעות: 87
בגדול, כן.
בתגובה להודעה מספר 5 שנכתבה על ידי meijin שמתחילה ב "כלומר, אם אני מבין נכון, את..."

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

ההבדל בין לכתוב קוד מכונה לאסמבלי לא כל-כך גדול. אם נתעלם מפיצ'רים ייחודיים שיש לאסמבלרים "high-level"-יים, ההבדל העיקרי שאני רואה הוא שבאסמבלי יש לך פקודה אחת כמו MOV, שמיתרגמת לאופקודים שונים בתלות בפרמטרים של הפקודה (בין שני אוגרים זה אופקוד אחד, ובין אוגר לזיכרון זה אופקוד אחר), ובגדלים של הפרמטרים לפקודות שתומכות בגדלים שונים.

בעצם, המעבר מאסמבלי לאופקודים הוא כמעט ברמה של search & replace. אתה יכול להחשיב את זה כמערך של regular expressions.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

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

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 16:58

הדף נוצר ב 0.04 שניות עם 12 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר