ABA


"שאלה בקשר לאריתמטיקה בין void* ב cpp"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #10144 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 10144
VeNom  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 7.6.02
7922 הודעות, 1 פידבק
   20:33   14.11.10   
אל הפורום  
  שאלה בקשר לאריתמטיקה בין void* ב cpp  
 
   ערכתי לאחרונה בתאריך 14.11.10 בשעה 20:53 בברכה, VeNom
 
יש לי פונקציה שאני מממש..ואני צריך לעשות שם אריתמטיקה בין כתובות בזכרון.
נוצר מצב שאני מחבר 2 טיפוסים מסוג void*..אני מקמפל את הקוד ב Unix עם ה g++ ומקבל שגיאה(הוא לא מכיר אריתמטיקה בלי קאסטינג)..
האם קאסטינג ל *char (כי האריתמטיקה היא בבתים) תזיק כאן?
האם יש "קומבינה אחרת"?

תודה.


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  אפשר למחוק.. VeNom  15.11.10 00:27 1
  (*sizeof(char*)=sizeof(void ובכלל כל פויינטר. ldan192  15.11.10 19:52 2
     כן זה ברור.. VeNom  15.11.10 21:08 3
         הכי קל פשוט לא להשתמש ב-*void, אלא ב-long. ldan192  15.11.10 21:19 4
             בדיעבד אתה צודק.. VeNom  15.11.10 21:55 5

       
VeNom  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 7.6.02
7922 הודעות, 1 פידבק
   00:27   15.11.10   
אל הפורום  
  1. אפשר למחוק..  
בתגובה להודעה מספר 0
 
   נראה כאילו זה עובד בלי באגים בינתיים..


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ldan192 
חבר מתאריך 14.9.08
95119 הודעות
   19:52   15.11.10   
אל הפורום  
  2. (*sizeof(char*)=sizeof(void ובכלל כל פויינטר.  
בתגובה להודעה מספר 0
 
השאלה אם זה מה שאתה רוצה פה לעשות


בברכה,
עידן


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
VeNom  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 7.6.02
7922 הודעות, 1 פידבק
   21:08   15.11.10   
אל הפורום  
  3. כן זה ברור..  
בתגובה להודעה מספר 2
 
   סתם כחלק ממטלה במערכות הפעלה נדרשתי לממש malloc משלי והדבר כרוך בחישובים אריתמטים של void* ואילו הקומפיילר g++ לא נותן לכאלה דברים להתקמפל.
חשבתי שיש דרך אלגנטית לצאת מזה(ע"י הוספת דגל כלשהו או משהו בזמן קומפילציה ..


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ldan192 
חבר מתאריך 14.9.08
95119 הודעות
   21:19   15.11.10   
אל הפורום  
  4. הכי קל פשוט לא להשתמש ב-*void, אלא ב-long.  
בתגובה להודעה מספר 3
 


בברכה,
עידן


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
VeNom  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 7.6.02
7922 הודעות, 1 פידבק
   21:55   15.11.10   
אל הפורום  
  5. בדיעבד אתה צודק..  
בתגובה להודעה מספר 4
 
   אולי באמת לאורך כל הפונקציה שווה להשתמש ב long שיחזיק את הכתובת ובסוף לתת לו casting ל void*..
תודה רבה!


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net