Logo

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

ראשי > תיכנות > Garbage collector ב C++, Native

02/04/2006 01:55:03 HLL
זה נכון השמועות ששמעתי? ש ה .net 2 מאפשר כזה דבר?
(בטח טל היחיד שידע לענות על זה, אבל בכל זאת )
02/04/2006 16:05:50 abcabc1
זה נכון
03/04/2006 18:58:07 tal
היי הלל, סורי על התגובה המאוחרת..
כן.. זה בהחלט נכון...
אבל זה גם קיים ב- .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]
03/04/2006 23:12:17 HLL
בידיוק, אין הרבה הבדל בניהם... C++.net \ C#
אבל השאלה שלי התייחסה ל Unmanaged - כלומר Native code (יש מצב גדול שלא הבנתי את חבר שלי במה שההוא אמר..)
03/04/2006 23:14:45 tal
Garbage Collector ב- unmanaged?
זה לא נכון.. כנראה שלא הבנת אותו לא נכון...
ברגע שאתה כותב ב- unmanaged code ואתה כבר לא עובד על ה- CLR אין לך את היתרון של ה- Garbage Collector...
אי אפשר לאכול את העוגה ולהשאיר אותה שלמה ;)

טל.
03/04/2006 23:16:10 HLL
יש מצב, למה הגארבצ’ קוללקטור הוא מנגנון, לא?
אי אפשר לצרף אותו לקבצי Native (בתאוריה)?[ההודעה נערכה על-ידי HLL ב-03/04/2006 23:16:28]
06/04/2006 23:46:20 ziv
"Managed Code (עם Garbage Collector) אתה בעצם מאבד את היכולות של PURE C++ לכתוב לזיכרון וכדומה."
אממ... אני לא עובד עם .net אבל...
מה הכוונה "מאבד את היכולת לכתוב לזיכרון"?
באיזה מידה אתה מאבד את היכולת לכתוב לזיכרון?
וגם מה זה managed/unmanaged code?
07/04/2006 01:59:49 tal
ציטוט:יש מצב, למה הגארבצ’ קוללקטור הוא מנגנון, לא?
אי אפשר לצרף אותו לקבצי Native (בתאוריה)?

[ההודעה נערכה על-ידי HLL ב-03/04/2006 23:16:28]

תשמע, ברגע שאתה עובר לעבודה עם UNMANAGED CODE
אתה לא יכול לנצל שום יכולת של הדוטנט... אתה חוזר לעבוד בידיוק כמו ב- ++C רגיל ללא שום יכולות מיוחדות... אולי יש קלאסים מיוחדים שמיקרוסופט בנו אבל זהו...
כדי לקבל את היכולות של ה- GARBAGE COLLECTOR אתה צריך לעבוד על ה- CLR של ה- דוטנט פריימווק

(סליחה על התגובה המאוחרת :) )
07/04/2006 14:20:20 tal
ציטוט:"Managed Code (עם Garbage Collector) אתה בעצם מאבד את היכולות של PURE C++ לכתוב לזיכרון וכדומה."
אממ... אני לא עובד עם .net אבל...
מה הכוונה "מאבד את היכולת לכתוב לזיכרון"?
באיזה מידה אתה מאבד את היכולת לכתוב לזיכרון?
וגם מה זה managed/unmanaged code?

כשאתה עובד עם ה- דוטנט פריימווק אתה לא יכול לכתוב לזיכרון או לטפל בזיכרון או לעשות כל פעולה מול הזיכרון בעצמך... הכל חייב להתבצע על ה- CLR של הדוטנט פיירמווק... וה- CLR מונע ממך את האפשרות לעשות פעולות כמו התעסקות ישירות בזיכרון של המחשב...
managed code - כשאתה עובד על ה- CLR של הפיירמווק
unmanaged code - כשאתה מפסיק לעבוד על ה- CLR ואז ההגבלה יורדת ואתה יכול להתעסק ישירות עם הזיכרון...
07/04/2006 15:03:29 HLL
טוב... בעע-קטנה (משחק מילים ;D)
טנקס
09/05/2006 22:14:10 xtre
למה זה בדביק?
18/05/2006 11:44:09 tal
כי אני החלטתי שזאת שאלה טובה שכדאי לשים אותה בדביק...
28/06/2006 11:44:02 ziv
אני קראתי שיש תיכנונים שיאפשרו להשתמש ב gc גם ב native.
30/06/2006 00:41:36 tal
תשמע, כיום אנשים שרוצים garbage collector ב- native פשוט כותבים אחד בעצמם... אולי ב- .NET Framework 3 שתצא עם Windows Vista יהיה אפשרות להשתמש ב- GC גם ב- native code(unmanaged)
10/10/2006 22:09:33 HLL
סעמק תוריד לי תדביק

אגב טל:
יש פה את מה שהסברתי לך על ספירת רפרנסים
יש עוד כמה שיטות לדעתי אם אני זוכר .net משתמש בשיטה הזו

http://en.wikipedia.org/wiki/Garbage_collection_(computer_science)[ההודעה נערכה על-ידי HLL ב-10/10/2006 22:14:53]
29/10/2006 06:44:28 tal
ציטוט:כי אני החלטתי שזאת שאלה טובה שכדאי לשים אותה בדביק...

אני משאיר את זה בכוונה בדביק.. כי זאת הייתה שאלה טובה :-)

ולגבי הנושא של ה- GC, הוא פשוט מרתק.. שיהיה לי יותר זמן לנשום אני ממש אשב לקרוא לעומק את הנושא..
תודה על הלינק
עמודים: 1