Momentan sunteți offline, așteptați să vă reconectați la internet

FIX: "Dacă" condiţie nu funcţionează corect atunci când executaţi o aplicaţie Visual C++ care este dezvoltat în Visual Studio 2010 SP1

IMPORTANT: Acest articol a fost tradus de software-ul de traducere automată Microsoft, si nu de un traducător. Microsoft vă oferă atât articole traduse de persoane, cât şi articole traduse automat, astfel incat aveti access la toate articolele din Baza noastră de informatii în limba dvs. materna. Totuşi, un articol tradus automat nu este întotdeauna perfect. Acesta poate conţine greşeli de vocabular, sintaxă sau gramatică, la fel cum un vorbitor străin poate face greşeli vorbind limba dvs. materna. Compania Microsoft nu este responsabilă pentru nici o inexactitate, eroare sau daună cauzată de traducerea necorespunzătoare a conţinutului sau de utilizarea traducerii necorespunzătoare de către clienţii nostri. De asemenea, Microsoft actualizează frecvent software-ul de traducere automată.

Faceți clic aici pentru a vizualiza versiunea în limba engleză a acestui articol: 2719783
Simptome
Luaţi în considerare următorul scenariu:
  • Utilizaţi Microsoft Visual Studio 2010 pachet Service Pack 1 (SP1) pentru a dezvolta o aplicaţie Visual C++.
  • Codul sursă al aplicaţiei îndeplineşte următoarele condiţii:
    • Codul sursă conţine o instrucţiune IF într-o buclă imbricate.
    • Dacă condiţie conţine un cec care determină dacă o variabilă de întreg semnat este negativ, şi, de asemenea, un cec care determină dacă variabila întreg semnat este mai mare decât un alt număr.
    • Codul care este în afara condiţie dacă are o funcție liniară care utilizează variabila de semnat.
  • Compilaţi aplicaţia utilizând linia Către de comandă sau Visual Studio 2010.

    Notă Să compilaţi cererea în marcă de timp ce o opţiune de compilare este activată.
  • Executaţi aplicaţia.
În acest scenariu, instrucţiune IF nu funcţionează corect.
Rezoluţie

Informaţii despre remedierea rapidă

O remediere rapidă este acum disponibilă de la Microsoft. Cu toate acestea, acesta este destinat pentru a corecta numai problema descrisă în acest articol. Aplicaţi-l numai pe sistemele care întâmpină această problemă anume. Această remediere rapidă poate să necesite testare suplimentară. De aceea, dacă nu sunteţi grav afectat de această problemă, vă recomandăm să aşteptaţi următoarea actualizare software care conţine această remediere rapidă.

Pentru a rezolva imediat problema, contactaţi Serviciile de asistenţă pentru clienţi Microsoft pentru a obţine remedierea rapidă. Pentru o listă completă de numere de telefon serviciilor de asistenţă pentru clienţii Microsoft şi informaţii despre costurile de asistenţă, vizitaţi următorul site Web Microsoft:Notă În cazuri speciale, costurile sunt de obicei pentru apelurile de asistenţă pot fi revocate dacă un profesionist de suport Microsoft stabileşte că o anumită actualizare va rezolva problema. Costurile uzuale de asistenţă se vor aplica pentru întrebări suplimentare de asistenţă şi pentru probleme ce nu fac obiectul actualizării în chestiune.

Cerinţe preliminare

Pentru a aplica această remediere rapidă, trebuie să aveţi Visual Studio 2010 SP1 instalat.

Informaţii cu privire la necesitatea unui restart

Nu trebuie să reporniţi computerul după ce instalaţi remedierea rapidă dacă fişierele afectate nu sunt utilizate în timpul procesului de instalare. Vă recomandăm să închideţi toate componentele legate de Visual Studio 2010 înainte de a instala remedierea rapidă.

Informaţii despre înlocuirea remedierilor rapide

Această remediere rapidă nu înlocuieşte orice altă remediere rapidă.

Informaţii cu privire la fişiere

Versiunea în engleză a acestei remedieri rapide are atributele de fişier (sau atribute de fişier mai târziu) enumerate în următorul tabel. Datele şi orele acestor fişiere sunt prezentate în ora universală (UTC). Când vizualizaţi informaţiile despre fişiere, este convertit la ora locală. Pentru a afla diferenţa între universal şi ora locală, utilizaţi Fusul orar fila în Data şi ora element din Panou de control.
Pentru toate versiunile acceptate de Visual Studio 2010
Nume de fișierVersiunea fişieruluiDimensiune fişierDataPlatforma
C2.dll16.0.40219.4042,608,19213-Dec-2012x 86
C2.dll16.0.40219.4042,494,52813-Dec-2012x 86
C2.dll16.0.40219.4042,593,34413-Dec-2012x 86
C2.dll16.0.40219.4042,962,49613-Dec-2012x 64
Stare
Microsoft a confirmat că aceasta este o problemă în produsele Microsoft listate în secţiunea "Se aplică la".
Informaţii suplimentare
Pentru mai multe informaţii despre opţiunile de Visual C++ /O , du-te la următorul site Web MSDN:Pentru a reproduce această problemă, executaţi o aplicaţie de C++ care foloseste urmatorul cod:
#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;}
După ce executaţi aplicaţia, primiţi următorul rezultat:
-3
-2
-1
0
1
2
3
4
5
6
7
8
Cu toate acestea, vă aşteptaţi următoarele rezultate în această situaţie:
0
1
2
3
4
5
6
7
8

Avertisment: acest articol a fost tradus automat

Proprietăți

ID articol: 2719783 - Ultima examinare: 01/10/2013 03:42:00 - Revizie: 4.0

  • kbqfe kbfix kbexpertiseadvanced kbhotfixserver kbsurveynew kbmt KB2719783 KbMtro
Feedback