Prihláste sa s kontom Microsoft
Prihláste sa alebo si vytvorte konto.
Dobrý deň,
Vyberte iné konto.
Máte viacero kont
Vyberte konto, s ktorým sa chcete prihlásiť.

Príznaky

Predstavte si nasledujúcu situáciu.

  • Môžete vytvoriť aplikáciu, ktorá načíta byte štruktúru alebo triedu v Microsoft Visual Studio 2008 Service Pack 1 (SP1).

  • Zapnete možnosť optimalizácie /Ox alebo / O2 optimalizácia.

  • Aplikácia zostaviť pomocou uvoľnenie konfigurácie x64 platformu.

V takomto prípade je nesprávny posun vygenerovaný štruktúra členom alebo členom.

Tento problém sa vyskytuje, len keď veľkosť štruktúry a posun alebo triede a posun rovná jednu z nasledujúcich kombinácií:

  • (14,13)

  • (15,13)

  • (22,21)

  • (23,21)

  • (30,29)

  • (31,29)

Riešenie

Informácie o rýchlej oprave

Rýchla oprava je k dispozícii od spoločnosti Microsoft. Je však určená iba na vyriešenie problému, ktorý je popísaný v tomto článku. Použite ju iba v počítačoch s týmto konkrétnym problémom. Táto rýchla oprava môže bude ďalej testovaná. Ak vám nespôsobuje tento problém, odporúčame vám počkať na ďalšiu Visual Studio 2008 service pack, ktorá obsahuje túto rýchlu opravu.

Ak chcete tento problém vyriešiť okamžite, obráťte sa na služby technickej podpory spoločnosti Microsoft a požiadajte o rýchlu opravu. Úplný zoznam telefónnych čísiel služby podpory zákazníkov spoločnosti Microsoft a informácie o poplatkoch za poskytnutie technickej podpory nájdete na webovej lokalite spoločnosti Microsoft:

http://support.microsoft.com/contactus/?ws=supportPoznámka: V niektorých zvláštnych prípadoch sa môžu zrušiť poplatky za telefonickú podporu, ak pracovník služieb technickej podpory spoločnosti Microsoft usúdi, že daný problém sa vyrieši nainštalovaním určitej aktualizácie. Ďalšie otázky a žiadosti o technickú podporu, ktoré sa netýkajú tejto špecifickej aktualizácie, podliehajú bežným sadzbám za poskytovanie technickej podpory.

Požiadavky

Visual Studio 2008 Service Pack 1 nainštalovaný chcete použiť túto rýchlu opravu, musíte mať.

Požiadavka na reštartovanie

Po použití tejto rýchlej opravy nie je potrebné reštartovať počítač.

Informácie o nahradení rýchlej opravy

Táto rýchla oprava nenahrádza žiadne iné rýchle opravy.

Informácie o súboroch

Anglická verzia tejto rýchlej opravy má atribúty súborov (alebo novšie atribúty) uvedené v nasledujúcej tabuľke. Dátumy a čas jednotlivých súborov sú uvedené vo formáte koordinovaného svetového času (UTC). Pri zobrazení informácií o súbore sa dátumy a čas prevedú na miestny čas. Ak chcete vyhľadať rozdiely medzi časom UTC a miestnym časom, použite kartu Časové pásmo v položke Dátum a čas v ovládacom paneli.

Názov súboru

Verzia súboru

Veľkosť súboru

Dátum

Čas

Platforma

C2.dll

15.0.30729. 4082

2,283,320

19-Mar-2009

05:13

x86

C2.dll

15.0.30729.4082

2,36 1,656

19-Mar-2009

05:13

x86

C2.dll

15.0.30729.4082

3,01 7,528

19-Mar-2009

05:13

x64

Link.exe

9.0.30729.4082

1,0 54,520

19-Mar-2009

05:13

x64

Link.exe

9.0.30729.4082

799, 032

19-Mar-2009

05:13

x86

Alternatívne riešenie

Obísť tento problém, pridajte fiktívny "unsigned char" členov rozšíriť veľkosť štruktúry alebo triedy najmenší násobok 8 bajtov. Napríklad rozšírenie 14 bajty 16 bajtov.

Stav

Spoločnosť Microsoft potvrdila, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v časti Vzťahuje sa na.

Ďalšie informácie

Ďalšie informácie o terminológii z oblasti aktualizácií softvéru získate po kliknutí na nasledujúce číslo článku publikovaného v databáze Microsoft Knowledge Base:

824684 Popis štandardnej terminológie použitej na popis aktualizácií softvéru od spoločnosti Microsoft

Kroky na reprodukovanie tohto problému

  1. Vytvorenie aplikácie s názvom Test.cpp pomocou nasledujúci kód 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. Aplikácia zostaviť pomocou nasledujúceho príkazu:

    cl test.cpp/O2/MD

Očakávaný výsledok je 4. Skutočné výsledky však 0.

Potrebujete ďalšiu pomoc?

Chcete ďalšie možnosti?

Môžete preskúmať výhody predplatného, prehľadávať školiace kurzy, naučiť sa zabezpečiť svoje zariadenie a ešte oveľa viac.

Komunity pomôžu s kladením otázok a odpovedaním na ne, s poskytovaním pripomienok a so získavaním informácií od odborníkov s bohatými znalosťami.

Boli tieto informácie užitočné?

Aká je podľa vás jazyková kvalita textu?
Čo sa vám páčilo, prípadne čo nie?
Stlačením tlačidla Odoslať sa vaše pripomienky použijú na zlepšenie produktov a služieb spoločnosti Microsoft. Váš správca IT bude môcť tieto údaje zhromažďovať. Vyhlásenie o ochrane osobných údajov.

Ďakujeme za vaše pripomienky!

×