Sümptomid
Kujutage ette järgmist stsenaariumi.
-
Looge Visual C++ projekti Microsoft Visual Studio 2008 Service Pack 1 (SP1).
-
Projekti fail on kitsas string literaalid. Nende string literaalid Aasia märke sisaldavad ja on tähistatud tähega "L".
-
String literaalid kasutatakse UTF-8 kodeeringut.
Selle stsenaariumi puhul projekti kompileerimisel string literaalid on valesti kompilaator. Lisaks ilmneb üks järgmistest probleemidest:
-
Kompileerimine toiming oli edukas. Siiski kuvatakse string literaalid valesti loodud rakenduse. Lisaks võib ka kuvada järgmine hoiatus sõnumite, kui projekti koostamine:
Hoiatus C4566: märgi esindajad universal-märk-nimi "xx" ei saa praeguse koodilehe esindab.
-
Kompileerimine toiming nurjub. Lisaks võidakse kuvada järgmine tõrketeade, kui projekti koostamine:
tõrge C2078: liiga palju initializers
Põhjus
See probleem ilmneb seetõttu kompilaator eeldab, et faili jaotises "Tunnused" kirjeldatud on MBCS kodeeringut. Seetõttu on compilerincorrectly tõlgib faili.
Lahendus
Kiirparanduse teave
Toetatud käiguparandus on saadaval Microsoftilt. See kiirparandus on ette nähtud üksnes käesolevas artiklis kirjeldatud probleemi lahendamiseks. Kasutage seda parandust ainult selle konkreetse probleemiga süsteemides.
Kui kiirparandus on allalaadimiseks saadaval, on selle teabebaasi artikli alguses "Kiirparandus on allalaadimiseks saadaval" sektsiooni. Kui seda jaotist ei ole, saatke Microsofti klienditeenindusele ja -toele taotlus kiirparanduse hankimiseks.
Märkus. Kui ilmneb veel probleeme või kui on tarvis teha tõrkeotsing, peate looma eraldi tugiteenuse taotluse. Tavapärane tugiteenuse tasu kehtib täiendavatele tugiteenustega seotud küsimustele ning probleemidele, mis pole lahendatavad konkreetse kiirparandusega. Täieliku loetelu Microsofti klienditeeninduse ja -toe telefoninumbrite või eraldi tugiteenuse taotluse loomiseks külastage järgmist Microsofti veebisaiti:
http://support.microsoft.com/contactus/?ws=supportMärkus. "Kiirparandus on allalaadimiseks saadaval" vormil kuvatakse keeled, mille jaoks kiirparandus on saadaval. Kui te ei näe oma keelt, ei ole kiirparandus selles keeles saadaval.
Eeltingimused
Visual Studio 2008 Service Pack 1 (SP1) selle kiirparanduse rakendamiseks peab teil olema.
Taaskäivitamise nõue
Teil pole vaja arvutit taaskäivitada pärast selle käigultparanduse rakendamist pole eksemplari Visual Studio kasutamisel.
Kiirparanduse asendamise teave
See kiirparandus ei asenda muud käigultparandust.
Failiteave
Sellel kiirparanduse ingliskeelsel versioonil on failiatribuudid (või hilisemad failiatribuudid), mis on loetletud järgmises tabelis. Kuupäevad ja kellaajad need failid jaoks on loetletud maailmaaja järgi (UTC). Faili teabe vaatamisel teisendatakse see kohalikule ajale. UTC ja kohaliku aja erinevuste väljaselgitamiseks kasutage juhtpaneeli üksuses kuupäev ja kellaaeg vahekaarti ajavöönd .
Faili nimi |
Faili versioon |
Faili maht |
Kuupäev |
Aeg |
Platvorm |
---|---|---|---|---|---|
C1.dll |
15.0.30729.4987 |
678,720 |
09-Mar-2010 |
10:18 |
x86 |
C1xx.dll |
15.0.30729.4987 |
2,204,488 |
09-Mar-2010 |
10:18 |
x86 |
C1xx.dll |
15.0.30729.4987 |
2,215,240 |
09-Mar-2010 |
10:18 |
x86 |
C1xx.dll |
15.0.30729.4987 |
2,339,656 |
09-Mar-2010 |
10:18 |
x86 |
C1xx.dll |
15.0.30729.4987 |
2,505,552 |
09-Mar-2010 |
10:18 |
x86 |
C1xx.dll |
15.0.30729.4987 |
2,891,592 |
09-Mar-2010 |
10:18 |
x64 |
Olek
Microsoft on kinnitanud, et see probleem esineb jaotises "Kehtib järgmiste toodete kohta" loetletud Microsofti toodetel.
Lisateabe saamiseks
Kompilaatori tõrge lahendamiseks käigultparanduse installimist ja seejärel salvestage fail koos bait-järjekorras esimene märk. Lisaks lisage järgmine "pragma" direktiivi vahetult enne string literaalid lähtefaili.
#pragma execution_character_set("utf-8")
Märkus. "Pragma" direktiivi seab tõlke üksuse lähtefaili kuni direktiivi "pragma" muu "pragma" direktiivi.