(בטח טל היחיד שידע לענות על זה, אבל בכל זאת )
ראשי > תיכנות > Garbage collector ב C++, Native
כן.. זה בהחלט נכון...
אבל זה גם קיים ב- .net framework 1.1
עכשיו שים לב שברגע שאתה עובד עם
Managed Code (עם Garbage Collector) אתה בעצם מאבד את היכולות של PURE C++ לכתוב לזיכרון וכדומה..
כל העבודה היא מול ה- .NET Framework
וה- C++ תרוץ כרגע על ה- CLR.
בעצם אין שום יתרון משמעותי בין C++.net ו- C#... הם אפילו עובדים עם אותן ספריות. חוץ מהעובדה שאחר כך אם תרצה לעבוד עם unmanaged code (PURE C++) יהיה לך יותר פשוט לעבוד עם ה- DLL דרך C++.נט מאשר עם C#. הסיבה היא שעם #C תצטרך להמיר משתנים וכדומה כך ששני הצדדים ידעו לעבוד איתם בהתאם.. והעבודה עם טכנולוגיית ה- MARSHAL (הממיר) לא ממש נחמדה על פי מה שהבנתי..
בהצלחה... :)
טל[ההודעה נערכה על-ידי tal ב-03/04/2006 19:00:04]
אבל השאלה שלי התייחסה ל Unmanaged - כלומר Native code (יש מצב גדול שלא הבנתי את חבר שלי במה שההוא אמר..)
זה לא נכון.. כנראה שלא הבנת אותו לא נכון...
ברגע שאתה כותב ב- unmanaged code ואתה כבר לא עובד על ה- CLR אין לך את היתרון של ה- Garbage Collector...
אי אפשר לאכול את העוגה ולהשאיר אותה שלמה ;)
טל.
אי אפשר לצרף אותו לקבצי Native (בתאוריה)?[ההודעה נערכה על-ידי HLL ב-03/04/2006 23:16:28]
אממ... אני לא עובד עם .net אבל...
מה הכוונה "מאבד את היכולת לכתוב לזיכרון"?
באיזה מידה אתה מאבד את היכולת לכתוב לזיכרון?
וגם מה זה managed/unmanaged code?
אי אפשר לצרף אותו לקבצי Native (בתאוריה)?
[ההודעה נערכה על-ידי HLL ב-03/04/2006 23:16:28]
תשמע, ברגע שאתה עובר לעבודה עם UNMANAGED CODE
אתה לא יכול לנצל שום יכולת של הדוטנט... אתה חוזר לעבוד בידיוק כמו ב- ++C רגיל ללא שום יכולות מיוחדות... אולי יש קלאסים מיוחדים שמיקרוסופט בנו אבל זהו...
כדי לקבל את היכולות של ה- GARBAGE COLLECTOR אתה צריך לעבוד על ה- CLR של ה- דוטנט פריימווק
(סליחה על התגובה המאוחרת :) )
אממ... אני לא עובד עם .net אבל...
מה הכוונה "מאבד את היכולת לכתוב לזיכרון"?
באיזה מידה אתה מאבד את היכולת לכתוב לזיכרון?
וגם מה זה managed/unmanaged code?
כשאתה עובד עם ה- דוטנט פריימווק אתה לא יכול לכתוב לזיכרון או לטפל בזיכרון או לעשות כל פעולה מול הזיכרון בעצמך... הכל חייב להתבצע על ה- CLR של הדוטנט פיירמווק... וה- CLR מונע ממך את האפשרות לעשות פעולות כמו התעסקות ישירות בזיכרון של המחשב...
managed code - כשאתה עובד על ה- CLR של הפיירמווק
unmanaged code - כשאתה מפסיק לעבוד על ה- CLR ואז ההגבלה יורדת ואתה יכול להתעסק ישירות עם הזיכרון...
טנקס
אגב טל:
יש פה את מה שהסברתי לך על ספירת רפרנסים
יש עוד כמה שיטות לדעתי אם אני זוכר .net משתמש בשיטה הזו
http://en.wikipedia.org/wiki/Garbage_collection_(computer_science)[ההודעה נערכה על-ידי HLL ב-10/10/2006 22:14:53]
אני משאיר את זה בכוונה בדביק.. כי זאת הייתה שאלה טובה :-)
ולגבי הנושא של ה- GC, הוא פשוט מרתק.. שיהיה לי יותר זמן לנשום אני ממש אשב לקרוא לעומק את הנושא..
תודה על הלינק