דלג לתוכן הראשי
היכנס דרך Microsoft
היכנס או צור חשבון.
שלום,
בחר חשבון אחר.
יש לך חשבונות מרובים
בחר את החשבון שברצונך להיכנס באמצעותו.

מאפייני הבעיה

שקול את התרחיש הבא.

  • יצירת יישום טוען בית מ מבנה או מחלקה ב- Microsoft Visual Studio 2008 Service Pack 1 (SP1).

  • הפעלת האפשרות מיטוב /Ox או באפשרות מיטוב /O2 .

  • בצע הידור של היישום באמצעות תצורה שחרור עבור x64 הפלטפורמה.

בתרחיש זה, ההיסט בו נוצר כדי לגשת האיבר מבנה או חבר מחלקה שגויה.

בעיה זו מתרחשת רק כאשר גודל מבנה ואת ההיסט או את המחלקה וגודל ההיסט שווה לאחד הזוגות הבאים:

  • (14,13)

  • (15,13)

  • (22,21)

  • (23,21)

  • (30,29)

  • (31,29)

פתרון

מידע על תיקונים חמים

תיקון חם נתמך זמין כעת מ- Microsoft. עם זאת, הוא מיועד רק את הבעיה המתוארת במאמר זה. יש להחיל אותו רק במערכות שהתעוררה בהן בעיה ספציפית זו. תיקון חם זה עשוי לעבור בדיקות נוספות. לכן, אם המערכת שברשותך לא נפגעה באופן חמור מבעיה זו, מומלץ להמתין למהדורת ה-service pack הבאה של Visual Studio 2008, המכילה תיקון חם זה.

כדי לפתור בעיה זו באופן מיידי, פנה לשירותי התמיכה בלקוחות של Microsoft לקבלת התיקון החם. לקבלת רשימה מלאה של מספרי הטלפון בשירותי התמיכה ללקוח של Microsoft ומידע על עלויות תמיכה, בקר באתר האינטרנט הבא של Microsoft:

http://support.microsoft.com/contactus/?ws=supportהערה במקרים מיוחדים, ניתן לבטל את החיובים שהצגת שיחות תמיכה אם מומחה תמיכה של Microsoft יקבע שעדכון ספציפי יפתור את הבעיה. דמי התמיכה המקובלים יחולו על נוספים שאלות וסוגיות תמיכה אשר אינן מצריכות העדכון הספציפי האמור.

דרישות מוקדמות

יש ברשותך Visual Studio 2008 Service Pack 1 מותקן כדי להחיל תיקון חם זה.

דרישת הפעלה מחדש

אתה לא צריך להפעיל מחדש את המחשב לאחר החלת תיקון חם זה.

מידע על החלפת התיקון החם

תיקון חם זה אינו מחליף תיקונים חמים אחרים.

פרטי קובץ

הגירסה האנגלית של תיקון חם זה כוללת את תכונות הקובץ (או תכונות קובץ מתקדמות יותר) המפורטות בטבלה הבאה. התאריכים והשעות המתייחסים לקבצים הללו רשומים לפי זמן אוניברסלי מתואם (UTC). כשמציגים את פרטי הקובץ, היא מומרת לזמן המקומי. כדי לברר את הפרש השעות בין זמן UTC לזמן המקומי, השתמש בכרטיסייה אזור זמן בפריט ' תאריך ושעה ' בלוח הבקרה.

שם קובץ

גירסת קובץ

גודל קובץ

תאריך

שעה

פלטפורמה

C2.dll

15.0.30729. 4082

2,283,320

19 במרץ 2009

05:13

x86

C2.dll

15.0.30729.4082

2,36 1,656

19 במרץ 2009

05:13

x86

C2.dll

15.0.30729.4082

3,01 7,528

19 במרץ 2009

05:13

x64

Link.exe

9.0.30729.4082

1,0 54,520

19 במרץ 2009

05:13

x64

Link.exe

9.0.30729.4082

799, 032

19-Mar-2009

05:13

x86

פתרון הבעיה

כדי לעקוף בעיה זו, הוסף חברים דמה "תו לא חתומים" אחד או יותר כדי להרחיב את הגודל של המבנה או של המחלקה לכפולה הקטן ביותר של שמונה בתים. לדוגמה, הרחבת בתים 14 16 בתים.

מצב

Microsoft אישרה כי מדובר בבעיה במוצרי Microsoft הרשומים במקטע 'חל על'.

מידע נוסף

לקבלת מידע נוסף על מינוח עדכוני התכנה, לחץ על מספר המאמר הבא כדי להציג את המאמר הרלוונטי מתוך Microsoft Knowledge Base:

824684 תיאור המינוח הרגיל המשמש לתיאור עדכוני התוכנה של מיקרוסופט

שלבים לשחזור הבעיה

  1. יצירת יישום בשם Test.cpp על-ידי שימוש בקוד הבא ב- Visual Studio 2008 SP1:

    typedef struct DskDecimal
    {
    unsigned char precision;
    unsigned char scaleFactor;
    unsigned short value[ 5];
    unsigned char maxPrecision;
    unsigned char maxScaleFactor;
    } DskDecimal;

    int main()
    {
    DskDecimal decimal;
    decimal.maxScaleFactor = 4;
    DskDecimal self = decimal;
    return self.maxScaleFactor;
    }
  2. בצע הידור של היישום באמצעות הפקודה הבאה:

    מש test.cpp /O2 /MD

התוצאה הצפויה היא 4. עם זאת, התוצאה בפועל היא 0.

זקוק לעזרה נוספת?

מעוניין באפשרויות נוספות?

גלה את יתרונות המנוי, עיין בקורסי הדרכה, למד כיצד לאבטח את המכשיר שלך ועוד.

קהילות עוזרות לך לשאול שאלות ולהשיב עליהן, לתת משוב ולשמוע ממומחים בעלי ידע עשיר.

האם מידע זה היה שימושי?

עד כמה אתם מרוצים מאיכות השפה?
מה השפיע על החוויה שלך?
בלחיצה על 'שלח', אתה מאפשר למשוב שלך לשפר מוצרים ושירותים של Microsoft. מנהל ה-IT שלך יוכל לאסוף נתונים אלה. הצהרת הפרטיות.

תודה על המשוב!

×