Oprava: "Pokud" podmínku nefunguje správně při spuštění aplikace Visual C++, který je napsán v jazyce Visual Studio 2010 SP1

Překlady článku Překlady článku
ID článku: 2719783
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Příznaky

Zvažte následující scénář:
  • Pomocí aplikace Microsoft Visual Studio 2010 Service Pack 1 (SP1) pro vývoj aplikace Visual C++.
  • Zdrojový kód aplikace splňuje následující podmínky:
    • Zdrojový kód obsahuje příkaz IF ve vnořené smyčky.
    • Podmínka IF obsahuje zaškrtnutí, která určuje, zda je proměnná signed integer negativní a také kontrolu, která určuje, zda je proměnná signed integer větší než jiné číslo.
    • Kód, který se nachází mimo podmínka IF má lineární funkce, která používá podepsané proměnné.
  • Při kompilaci aplikace pomocí Visual Studio 2010 nebo příkazového řádku.

    Poznámka: Je povolena možnost kompilace při kompilaci aplikace.
  • Spusťte aplikaci.
V tomto případě příkaz IF nebude správně fungovat.

Řešení

Informace o opravě hotfix

Podporovaná oprava hotfix je nyní k dispozici od společnosti Microsoft. Je však určena pouze tento problém popsaný v tomto článku. Použijte ji pouze u systémů, ve kterých dochází k tomuto konkrétnímu problému. Tato oprava hotfix může být dále testována. Proto pokud jste závažně tento problém, doporučujeme počkat na další aktualizaci softwaru, která obsahuje tuto opravu hotfix obsahovat.

Chcete-li odstranit tento problém okamžitě, obraťte se na technickou podporu společnosti Microsoft, kde příslušné opravy hotfix získat. Úplný seznam telefonních čísel služeb technické podpory společnosti Microsoft a informace o cenách technické podpory naleznete na následujícím webu společnosti Microsoft:
http://support.microsoft.com/contactus/?ws=support
Poznámka: Ve zvláštních případech mohou být účtované poplatky podpory stornovány, pokud pracovník technické podpory společnosti Microsoft určí, že váš problém vyřeší konkrétní aktualizace. Obvyklé náklady na podporu použije dalších otázek a problémů, které nejsou vyřešeny v dané konkrétní aktualizaci.

Požadavky

Chcete-li nainstalovat tuto opravu hotfix, musí mít nainstalovanou aplikaci Visual Studio 2010 SP1.

Požadavek na restartování

Není třeba restartovat počítač po instalaci této opravy hotfix Pokud zasažené soubory nejsou používány během procesu instalace. Doporučujeme ukončit všechny součásti týkající se aplikace Visual Studio 2010, před instalací opravy hotfix.

Informace o nahrazení opravy hotfix

Tato oprava hotfix nenahrazuje žádné další opravy hotfix.

Informace o souboru

Anglická verze této opravy hotfix má atributy souborů (nebo novější), jsou uvedeny v následující tabulce. Kalendářní data a časy těchto souborů jsou uvedeny koordinovaný světový čas (UTC). Při zobrazení informací o souboru je převeden na místní čas. Rozdíl mezi místním časem a UTC časem Časové pásmo Karta v Datum a čas Chcete-li zobrazit položky v Ovládacích panelech.
Pro všechny podporované verze sady Visual Studio 2010
Zmenšit tuto tabulkuRozšířit tuto tabulku
Název souboruVerze souboruVelikost souboruDatumPlatforma
C2.dll16.0.40219.4042,608,19213. Prosince 2012x86
C2.dll16.0.40219.4042,494,52813. Prosince 2012x86
C2.dll16.0.40219.4042,593,34413. Prosince 2012x86
C2.dll16.0.40219.4042,962,49613. Prosince 2012x64

Prohlášení

Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části "Platí pro".

Další informace

Další informace o možnostech Visual C++ /O naleznete na následujícím webu MSDN:
Obecné informace o možnostech /O
Pro reprodukci tohoto problému, spusťte aplikaci C++, který používá následující kód:
#include "stdafx.h"
 
int main()
{
        for( int i = -1; i <= 3; i++ ) 
        {
               for( int j = -1; j <= 3; j++ ) 
               {
                      if (i >= 0 && i < 3 && j >= 0 && j < 3)
                      {
                            printf("%d\n", i * 3 + j);
                      }
               }
        }
        return 0;
}
Po spuštění aplikace se zobrazí následující výsledek:
-3
-2
-1
0
1
2
3
4
5
6
7
8
Očekáváte však následující výsledky v této situaci:
0
1
2
3
4
5
6
7
8

Vlastnosti

ID článku: 2719783 - Poslední aktualizace: 10. ledna 2013 - Revize: 4.0
Klíčová slova: 
kbqfe kbfix kbexpertiseadvanced kbhotfixserver kbsurveynew kbmt KB2719783 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku: 2719783

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com