עבור לתוכן

מה ההבדל ב-C בין איתחול על ה-HEAP עם אופרטור NEW ואיתחול עם MALLOC?

Featured Replies

פורסם

^^^^

השאלה למעלה, ותודה מראש לעוזרים. :xyxthumbs:

פורסם

כן, זה ב C++. גם ל NEW/DELETE יש אופרטור מיוחד למערכים [] בנוסף לפקודה. לא צריך להגדיר מפורשות sizeof ולעשות המרה. ניתן לדרוס את המיושים של האופרטורים new/delete במחלקה מסוימת.

פורסם
  • מחבר

תודה רבה על התגובה המהירה. :yelclap:

ושאלה נוספת, מה הגודל המקסימלי של מחסנית וערמה בערך?

פשוט יש לי פונקצית C/C++ MEX ב- MATLAB שקופצת אם אני מגדיר עוד משתנה unsigned long אחד. :o

אני מנסה להבין אם זה עניין של זכרון או פשוט באג של MATLAB. :xyxthumbs:

פורסם

מה הקפיצה / איפה, אתה עושה קריאות רקורסיביות ? (אתה גם משתמש בגרסא האחרונה של matlab הם מתקנים כל הזמן באגים).

פורסם
  • מחבר

אני משתמש ב- R2006b. באחת מהפונקציות הפנימיות שלי התבלבלתי ושמתי unsigned int וזה עבד סבבה.

מתוך מחשבה לעתיד (הקלט והפלט מערכים נומריים דינמיים גדולים) הפכתי את המשתנה ל- unsigned long. (הוא משמש כמונה).

הכל התקמפל בסדר אבל כאשר הרצתי את הפונקציה במטלב קיבלתי: segmentation violation.

אני פשוט מנסה להבין למה. :nixweiss:

פורסם
  • מחבר

זה משתנה בתוך פונקציה פנימית, לא משהו שמטלב אמור "לראות". :nixweiss:

התמיכה של Mathworks ב- MEX היא "לא רשמית",

כנראה יש להם עדיין באגים רציניים והם מבקשים לשלוח דו"ח שגיאה על גליצ'ים כאלה.

ב- R2007a יש להם סט פקודות מצומצם שניתן לקמפל אותו ישירות ל-C, וזה הכיוון שלהם.

Embedded MATLAB:

http://www.mathworks.com/access/helpdesk/help/toolbox/eml/

פורסם

כן, תנסה גם שוב להריץ את על ה 2007a אם יש לך. אתה גם יכול לפרסם פה את הקוד, אולי יהיה אפשר לראות את הבעיה.

פורסם
  • מחבר

זה +\- 200 שורות. :s07: אני לא מתכנת יעיל. :lol:

בכל מקרה אני אנסה את זה גם ב- 2007.

תודה רבה על העזרה. :xyxthumbs:

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים