התחלת עם:
ציטוט:
במקור נכתב על ידי bla27
איפה טענתי ש SEH כן מסוגל לתפוס exception של המנגנון ב- c++?
|
אז איפה באמת? כאן:
ציטוט:
במקור נכתב על ידי bla27
אז SEH עושה כל מה שהמנגנון ב c++ עושה ויותר
|
וכאן:
ציטוט:
במקור נכתב על ידי bla27
ניתן להשתמש במנגנון הזה, ולכל "סוגי" החריגות, מן הסתם לא
רק של מערכת ההפעלה
|
ועכשיו המצב בעולם האמיתי: SEH לא מטפל ב-C++ exceptions, אבל בקוד
בעולם האמיתי דווקא יש C++ exceptions. מסקנה: SEH לא "כל מה שהמנגנון
ב c++ עושה", ובטח שלא יותר. אם SEH היה יכול לעשות הכל, לא היה לנו צורך
ב-C++ exceptions. זה כמובן לא המצב.
זה שלא הבנת את האנלוגיה היה צפוי באותה מידה בדיוק באותה מידה שלא הבנת
שלא כתבתי שאתה ממ"סניק, אלא ספק-ממ"סניק בלבד. אפילו לדרגת ממ"סניק לא
בטוח שתגיע, וזו לא דרגה מרשימה מי-יודע-מה.
עם כל האב, נסביר את הדברים:
- מכונית א' (C++ exception handling) נוסעת רק על כבישים עירוניים
(C++ exceptions), בכל מדינה שהיא (כל מימוש שתואם את התקן). - מכונית ב' (SEH) נוסעת רק על כבישים בין עירוניים (SEH exceptions),
רק במדינה אחת (ושמה בישראל: ווינדוס; ורק שני קומפיילרים בפועל,
ולא כולם כמו שטענת למעלה). - אפשר לשפצר בקלות את מכונית א' כך שתיסע גם על כבישים בין
עירוניים במדינה שבה נוסעת מכונית ב (אפשר לכתוב רכיב קטן
שמתרגם SEH exceptions ל-C++ exceptions).
אתה טוען שמכונית ב' (SEH) "חזקה יותר" (ציטוט מדויק) כי אם נמצאים במדינה
מאוד מסויימת (ווינדוס), אז מכונית ב' (SEH) יכולה לנסוע מהר יותר (נקבל את
הטענה ש-SEH מהיר יותר) בכבישים בין עירוניים (SEH exceptions) - למרות
שהיא לא יכולה לנסוע על כבישים עירוניים (C++ exceptions, שקיימים בכל קוד
אמיתי), שלא לדבר על מדינות אחרות (נגיד, Intel, Watcom, שלא להזכיר מערכות
הפעלה שאינן ווינדוס)...
אגב, אם היית טורח
להציץ באתר gamedev, שאילו הפנית למעלה, היית רואה את הדברים הפשוטים הבאים:
Note that SEH is not portable but a VC++ specific implementation. Other compilers may support SEH but it is not guaranteed.
כמובן שלא טרחת לקרוא וללמוד. לא חשבתי אחרת.
האשמת אותי בסילופים יותר מפעם אחת:
ציטוט:
במקור נכתב על ידי bla27
קאפיש? אל תסלף את הדברים שלי בבקשה.
|
ציטוט:
במקור נכתב על ידי bla27
מה שאתה אומר זה שספריות רבות ב c++ וביניהן הספריות הסטנדרטיות משתמשות במנגנון האיטי ב c++ ולכן למתכנת שמשתמש בהם כדאי להשתמש במנגנון האיטי, המוגבל אך הנוח יותר. זה שונה מאוד ממה שאמרת ואני בטוח שאתה גם יודע את זה אבל קצת סילפת את הדברים.
|
אבל הקטע היפה באמת הוא שמה שכתבת נראה בערך כך: "מה שאתה אומר זה
ש... זה שונה מאוד ממה שאמרת" ומיד מאשים אותי בסילופים. אל חשש, אני לא
חושד בכך שיש לך בכלל מושג מה משמעות המילה סילוף.