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

מבוא

התיקון החם המתואר במאמר זה פותר את הבעיות הבאות ב- Microsoft Visual Studio 2010.

בעיה 1

אתה נתקל לאופן פעולה בלתי צפוי כאשר אתה מפעיל יישום בעל לולאות בקוד המקור. בעיה זו מתרחשת אם קוד המקור הידור עם מיטוב הכללית (/ Og) מופעלת.

בעיה 2

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

  • יש לך פרוייקט Visual C++ שמכיל את הקובץ Atlcomcli.h.

  • ציין את האפשרות מהדר /J כדי להגדיר_CHAR_UNSIGNEDמאקרו בפרוייקט.

  • בצע הידור של הפרוייקט.

בתרחיש זה, מופיעה אחת מהודעות השגיאה הבאות:

  • שגיאה C2338: לא ניתן להדר CVarTypeInfo < char > עם דגל /J או _CHAR_UNSIGNED זמין

  • שגיאה C2338: לא ניתן להדר CVarTypeInfo < char * > עם דגל /J או _CHAR_UNSIGNED זמין

בעיה 3

הפרת גישה מתרחשת כאשר אתה מפעיל יישום Visual C++ שנבנה עבור גירסה מבוססת x86 של Windows. בעיה זו מתרחשת כאשר היישום כולל עץ של הביטוי בעל שני ארגומנטי קלט סוג מערך.

הגורם

הגורם לבעיה 1

בעיה זו מתרחשת מאחר ביצוע אופטימיזציה לולאה שגוי. פעולה זו גורמת הפקת קוד שגויה.

הגורם לבעיה 2

בעיה זו מתרחשת מכיוון assertions סטטי בקובץ Atlcomcli.h מוגדרים האפשרות /J ואת המאקרו CHAR_UNSIGNED באופן שגוי.

הגורם לבעיה 3

בעיה זו מתרחשת מאחר הארגומנטים בהוראות דחיפה מתערבבים. לפיכך, ארגומנטים שגויים מועברים כדי לדחוף את ההוראות.

מידע נוסף

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

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

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

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

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

עליך להיות בעל Microsoft Visual Studio במחשב 2010 כדי להחיל תיקון חם זה.

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

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

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

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

פרטי קובץ


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

שם קובץ

גירסת קובץ

גודל קובץ

תאריך

שעה

פלטפורמה

C2.dll

16.0.30319.314

2,510,144

30-May-2010

20:48

x86

C2.dll

16.0.30319.314

2,588,480

30-May-2010

20:48

x86

C2.dll

16.0.30319.314

2,630,976

30-May-2010

20:48

x86

C2.dll

16.0.30319.314

2,977,600

30-May-2010

20:48

x64

C2.dll

16.0.30319.314

7,351,616

30-May-2010

20:48

IA-64

פתרון הבעיה

לעקיפת בעיה 1

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

תיקון 216181 : שנוצרו עם /Og מיטוב קוד שגוי

לעקיפת בעיה 2

כדי לעקוף בעיה זו, השתמש ההוראה pragma הבאים כדי לכלול את הקובץ Atlcomcli.h.

#pragma push_macro("ATLSTATIC_ASSERT")
#undef ATLSTATIC_ASSERT

#define ATLSTATIC_ASSERT(x,y)

#include <atlcomcli.h>

#undef ATLSTATIC_ASSERT

#pragma pop_macro("ATLSTATIC_ASSERT")

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

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

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

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

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

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

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

×