Düzeltme: "koşul doğru çalışmazsa," Visual c++ uygulama çalıştırıldığında Visual Studio 2010 SP1'de geliştirdiği

Makale çevirileri Makale çevirileri
Makale numarası: 2719783 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Bu Sayfada

Belirtiler

Aşağıdaki senaryoyu düşünün:
  • Visual c++ uygulama geliştirmek için Microsoft Visual Studio 2010 Service Pack 1 (SP1) kullanın.
  • Uygulama kaynak kodu, aşağıdaki koşullara uyan:
    • İç içe döngü IF deyimini kaynak kodunu içerir.
    • Eğer koşul imzalı tamsayı değişkeni negatif olup olmadığını belirleyen bir onay ve ayrıca imzalı tamsayı değişkeni başka bir sayıdan daha büyük olup olmadığını belirleyen bir onay işareti içerir.
    • IF koşulu dışında kod imzalı değişkenini kullanır doğrusal bir işlevi vardır.
  • Visual Studio 2010 veya komut istemini kullanarak uygulamayı derleyin.

    Not Derleme seçeneği etkinken Uygulamayı derleyin.
  • Uygulamayı çalıştırın.
Bu senaryoda, EĞER deyimi doğru çalışmaz.

Çözüm

Düzeltme bilgileri

Desteklenen bir düzeltme Microsoft'tan edinilebilir. Ancak, düzeltmenin yalnızca bu makalede anlatılan sorunu gidermesi amaçlanmıştır. Yalnızca bu sorunla karşılaşmış olan sistemlere uygulayın. Bu düzeltme, ek sınama uygulanabilir. Bu nedenle, bu sorundan ciddi bir şekilde etkilemiyorsa, bu düzeltmeyi içeren bir sonraki yazılım güncelleştirmesini beklemeniz önerilir.

Bu sorunu hemen çözümlemek için düzeltmeyi edinmek üzere Microsoft Müşteri Destek Hizmetleri'ne başvurun. Microsoft Müşteri Destek Hizmetleri telefon numaralarının ve destek ücretleriyle ilgili bilgi tam listesi için aşağıdaki Microsoft Web sitesini ziyaret edin:
http://support.microsoft.com/contactus/?ws=support
Not Microsoft Destek Uzmanı özel bir güncelleştirmenin sorununuzu belirlerse, destek aramaları için normalde telefonlarından özel durumlarda, iptal. Ek destek sorularına ve söz konusu güncelleştirme için geçerli olmayan sorunlara normal destek ücretleri uygulanır.

Önkoşullar

Bu düzeltmeyi uygulamak için Visual Studio 2010 SP1 yüklü olmalıdır.

Yeniden başlatma gereksinimi

Etkilenen dosyalar yükleme işlemi sırasında kullanılmayan, düzeltmeyi yükledikten sonra bilgisayarı yeniden başlatmanız gerekmez. Düzeltmeyi yüklemeden önce tüm Visual Studio 2010 ilişkili bileşenlerin kapatmanızı öneririz.

Düzeltme değiştirme bilgileri

Bu düzeltme, başka bir düzeltmenin yerini almaz.

Dosya bilgileri

Bu düzeltmenin İngilizce sürümü dosya öznitelikleri (veya daha yeni dosya özniteliklerine) sahip aşağıdaki tabloda listelenmektedir. Tarihler ve saatler için bu dosyalar, Eşgüdümlü Evrensel Saat (utc) listelenir. Dosya bilgilerini görüntülediğinizde yerel saate dönüştürülür. utc ve yerel saat arasındaki farkı bulmak için kullanın. Saat dilimi sekmesinde Tarih ve saat Denetim Masası'nda madde.
Visual Studio 2010'ın tüm desteklenen sürümleri için
Bu tabloyu kapaBu tabloyu aç
Dosya adıDosya sürümüDosya boyutuTarihSaatPlatform
C2.dll16.0.40219.4042,608,19228 Haz 201207: 24x 86
C2.dll16.0.40219.4042,494,52829 Haz 201204: 57x 86
C2.dll16.0.40219.4042,593,34429 Haz 201204: 57x 86
C2.dll16.0.40219.4042,962,49629 Haz 201204: 57x 64

Durum

Microsoft listelenen Microsoft ürünlerinde bir sorun olduğunu onaylamıştır "Aşağıdakilere Uygulanır" bölümünde.

Daha fazla bilgi

Visual c++ /o seçenekler hakkında daha fazla bilgi için aşağıdaki msdn Web sitesini ziyaret edin:
/o seçenekler hakkında genel bilgiler
Bu sorunu yeniden oluşturmak için şu kodu kullanan bir c++ uygulamasını çalıştırın:
#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;
}
Uygulamayı çalıştırdıktan sonra aşağıdaki sonucu alırsınız:
-3
-2
-1
0
1
2
3
4
5
6
7
8
Ancak, bu durumda aşağıdaki sonuçları bekler:
0
1
2
3
4
5
6
7
8

Özellikler

Makale numarası: 2719783 - Last Review: 6 Eylül 2012 Perşembe - Gözden geçirme: 2.0
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Visual Studio 2010 Service Pack 1, Ne zaman ne ile kullanilir:
    • Microsoft Visual Studio 2010 Ultimate
    • Microsoft Visual Studio 2010 Professional
Anahtar Kelimeler: 
kbqfe kbfix kbexpertiseadvanced kbhotfixserver kbsurveynew kbmt KB2719783 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir: 2719783

Geri Bildirim Ver

 

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