Det finnes en hurtigreparasjon som løser flere problemer i Microsoft Visual Studio 2010

Gjelder: Visual Studio Professional 2010Visual Studio Ultimate 2010Visual Studio Premium 2010

Introduksjon

Hurtigreparasjonen som beskrives i denne artikkelen løser følgende problemer i Microsoft Visual Studio 2010.

Problem 1

Du opplever uventet atferd når du kjører et program som har løkker i kildekoden. Dette problemet oppstår hvis kildekoden er kompilert med global optimalisering (/ Og) aktivert.

Problem 2

Tenk deg følgende:
  • Du har Visual C++-prosjektet som inneholder filen Atlcomcli.h.
  • Du angir /J kompilatoren muligheten til å definere den_CHAR_UNSIGNEDmakroen i prosjektet.
  • Du kompilerer prosjektet.
I dette scenariet kan du få en av følgende feilmeldinger:
  • feil C2338: CVarTypeInfo < char > kan ikke kompileres med /J eller _CHAR_UNSIGNED flagg aktivert
  • feil C2338: CVarTypeInfo < char * > kan ikke kompileres med /J eller _CHAR_UNSIGNED flagg aktivert

3-problem

Det oppstår brudd på tilgangstillatelse når du kjører en Visual C++-program som er bygd for en x86-basert versjon av Windows. Dette problemet oppstår når programmet har et uttrykk tre som har to matrisetype inndataargumenter.

Årsak


Årsaken til problemet 1

Dette problemet oppstår fordi en feil løkke-optimalisering er utført. Dette fører til ugyldig kodegenerering.

Årsaken til problemet 2

Dette problemet oppstår fordi statisk deklarasjoner i Atlcomcli.h-filen er innstilt til alternativet /J og CHAR_UNSIGNED-makroen.

Årsaken til problemet 3

Dette problemet oppstår fordi argumentene i push instruksjoner er blandet sammen. Derfor er ugyldige argumenter ble sendt for å skyve instruksjoner.

Hvis du vil ha mer informasjon


Informasjon om hurtigreparasjon

En støttet hurtigreparasjon er nå tilgjengelig fra Microsoft. Det er imidlertid ment å løse problemet som er beskrevet i denne artikkelen. Bruk den bare på systemer som har dette bestemte problemet. Denne hurtigreparasjonen kan gjennomgå ytterligere testing. Hvis du ikke er alvorlig påvirket av dette problemet, anbefaler vi derfor at du venter på Neste for Visual Studio 2010 som inneholder denne hurtigreparasjonen.

Hvis du vil løse dette problemet umiddelbart, kontakter du Microsoft Kundestøtte for å få hurtigreparasjonen. For en fullstendig liste over telefonnumre for Microsofts kundestøttetjenester og informasjon om støttekostnader, kan du gå til følgende Microsoft-webområde:Obs! I spesielle tilfeller kan avgifter som vanligvis påløper for oppringinger til kundestøtte avbrutt hvis en Microsoft-tekniker avgjør at en bestemt oppdatering løser problemet. Vanlige kundestøttekostnader gjelder for ytterligere kundestøttespørsmål og problemer som ikke dekkes av den gjeldende oppdateringen.

Forutsetninger

Du må ha Microsoft Visual Studio 2010 installert for å bruke denne hurtigreparasjonen.

Krav om omstart

Du har ikke datamaskinen på nytt etter at du har installert hurtigreparasjonen, hvis ingen berørte filen er i bruk.

Informasjon om erstatning av hurtigreparasjoner

Denne hurtigreparasjonen erstatter ikke andre hurtigreparasjoner.

Filinformasjon


Den engelskspråklige versjonen av denne hurtigreparasjonen har filattributtene (eller senere filattributter) som er oppført i følgende tabell. Datoene og klokkeslettene for disse filene er oppført i Coordinated Universal Time (UTC). Når du viser filinformasjonen, konverteres den til lokal tid. Hvis du vil finne forskjellen mellom UTC og lokal tid, bruker den
Tidssone
kategorien i den
Dato og klokkeslett
elementet i Kontrollpanel.
FilnavnFilversjonFilstørrelseDatoTidPlattform
C2.dll16.0.30319.3142,510,14430-May-201020:48x86
C2.dll16.0.30319.3142,588,48030-May-201020:48x86
C2.dll16.0.30319.3142,630,97630-May-201020:48x86
C2.dll16.0.30319.3142,977,60030-May-201020:48x64
C2.dll16.0.30319.3147,351,61630-May-201020:48IA-64

Løsningen


Løsningen på problemet 1

Du kan omgå dette problemet ved å deaktivere global optimalisering. For mer informasjon om hvordan du deaktiverer global optimalisering, klikker du følgende artikkelnummer for å vise artikkelen i Microsoft Knowledge Base:
Løs 216181 : feil kode generert med optimalisering av /Og

Løsningen på problemet 2

Hvis du vil omgå dette problemet, bruker du følgende direktiv pragma for å inkludere filen 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")