Logo

רד-בורד: ארכיון

ראשי > תיכנות > C as C++ ???? (כנסו)

15/11/2006 22:42:03 HLL
משהוא מעניין שחשבתי לשתף ולשאול אתכם...

לאחד מהמיקרומעבדים שאנחנו משתמשים בצבא יש מהדר לסי בלבד.
אז אני עוזר לחבר שלי בצוות לנסות לחשוב על מנגנון שיחכה כוויכול מחלקה...
Now, we done half way
בונים מבנה כמובן עם כל החברים שרוצים, ולגבי המתודות בונים מצביעים לפונ’ ואז אפשר לקרוא לזה בצורה
קוד:struct.method()
עכשיו נשאר לחשוב על איך מעבירים את This למטודה. רעיון אחד הוא בעצם לשלוח כפרמטר. נפסל. בגלל שהמטרה העיקרית זה שזה יהיה קריא ככל הניתן.
רעיון נוסף הוא לנסות למצוא את המיקום של הסטראקט על ה Stack... השאלה היא איך מחשבים את זה בצורה דינאמית ובלתי תלוייה.

היה לי עוד רעיון לנסות לגשת ל Code Segment ולשלוף את הקוד שקדם לקריאה למטודה, אבל זה קצת לא יישים בארכיטקטורה של המעבד הנ"ל...

קיצר, רעיונות אחרים???
16/11/2006 22:08:23 devil kide
לפי מה שהבנתי זה ש this זה פרמטר, תנסה להשתמש ב פוינטר שיכיל את המיקום שלו, והוא יהיה לוקאלי.
17/11/2006 11:33:19 Ratinho
ציטוט:בונים מבנה כמובן עם כל החברים שרוצים, ולגבי המתודות בונים מצביעים לפונ’ ואז אפשר לקרוא לזה בצורה
במבנה לא אמורה להיות גישה לפונקציות כמו מחלקה?
המורה שלנו אמר שההבדל היחיד בין struct ל class לפחות עד רמות ממש גבוהות, זה שהברירת מחדל במבנה היא public ובקלאס פריווט..
יש מצב שהוא חירטט, אני תמיד תופס אותו מחרטט...[ההודעה נערכה על-ידי Ratinho ב-17/11/2006 11:33:47]
17/11/2006 12:52:43 HLL
ההבדל היחיד בין Struct ל Class, עכברון, הוא אכן זה. שהברירת מחדל של החברים במבנה הם ציבוריים.
-אבל- זה ההבדל ב C++, לא בסי. בסי מבנה הוא סתם אוסף של איברים.

devil kide, עזוב, לא הבנת למה התכוונתי.
17/11/2006 15:34:57 Ratinho
לול, "עכברון"
בסי אי אפשר לעשות סטרקטים עם פונקיות?
17/11/2006 22:45:46 HLL
מצביע לפונ’. זה טיפוס נתונים כמו כל דבר אחר
קוד:(return_type *var_name)(params);
21/11/2006 20:53:34 Ratinho
אה, וואלה, למדנו את זה..
עמודים: 1