Belirtiler
Aşağıdaki senaryoyu inceleyin:
-
Genel en iyi duruma getirme seçeneği (/Og), aşağıdaki seçeneklerden birini etkinleştirerek etkinleştir:
-
/O1
-
/O2
-
/Ox
-
-
Microsoft Visual C++ kaynak dosyası, Microsoft Visual Studio 2008 Service Pack 1 (SP1) kullanarak oluşturun.
-
Kaynak dosya, setjmp işlevi, longjmp işlevi veya her iki işlevi çağırır.
Bu senaryoda, derleyici aynı yığın Ofset farklı yerel değişkenleri depolamak için kullanabilirsiniz. Bu nedenle, oluşturulan uygulamayı çalıştırdığınızda beklenmeyen bir davranış oluşabilir.
Neden
Setjmp işlevi veya longjmp işlevi için en iyi duruma getiricisi hesaplamaz Bu sorun oluşur. Bu yerel değişkenlerin yaşam yanlış hesaplamak en iyi duruma getiricisi neden olur. Bir değişken değeri değiştiğinde, başka bir değişkene beklenmedik şekilde değiştirilebilir.
Çözüm
Düzeltme bilgileri
Microsoft, desteklenen bir düzeltmeyi kullanıma sunmuştur. Ancak, bu düzeltmeyi yalnızca bu makalede anlatılan sorunu düzeltmesi amaçlanmıştır. Bu düzeltmeyi yalnızca bu makalede açıklanan sorunun yaşandığı sistemlere uygulayın. Bu düzeltme, ek test süreci gerektirebilir. Bu nedenle bu sorundan ciddi bir şekilde etkilenmiyorsanız, bu düzeltmeyi içeren bir sonraki yazılım güncelleştirmesini beklemeniz önerilir. Bu sorunu hemen düzeltmek için düzeltmeyi edinmek üzere Microsoft Müşteri Destek Hizmetleri'ne başvurun. Tam listesi Microsoft Müşteri Hizmetleri ve destek telefon numaralarını veya ayrı bir hizmet isteği oluşturmak için aşağıdaki Microsoft Web sitesini ziyaret edin:
http://support.microsoft.com/contactus/?ws=supportNot Özel durumlarda, Microsoft Destek Uzmanı özel bir güncelleştirmenin sorununuzu çözeceğini belirlerse, destek aramaları için normalde uygulanan ücretler iptal edilebilir. Ek destek sorularına ve söz konusu güncelleştirme için geçerli olmayan sorunlara normal destek ücretleri uygulanır. Bu düzeltmeyi Microsoft Developer Network (MSDN) kod Galerisi'nden yüklemek için aşağıdaki Microsoft Web sitesini ziyaret edin:
http://code.msdn.microsoft.com/KB2498381Not MSDN Kod Galerisi'nde düzeltmenin kullanılabilir olduğu diller görüntülenir. Kendi dilinizi görmüyorsanız, bu dil için kod Galerisi kaynak sayfası kullanılamıyor demektir. Veya, bu düzeltme aşağıdaki Microsoft Connect Web sitesinden yükleyebilirsiniz:
https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=34826
Ön koşullar
Bu düzeltmeyi uygulamak için Microsoft Visual Studio 2008 Service Pack 1 yüklü olmalıdır.
Yeniden başlatma bilgileri
Visual Studio tüm örneklerini durdurduysanız, bu düzeltmeyi yükledikten sonra bilgisayarı yeniden başlatmanız gerekmez.
Düzeltme değiştirme bilgileri
Bu düzeltme önceden yayımlanmış bir düzeltmenin yerini almaz.
Dosya bilgileri
Bu düzeltmenin genel sürümü aşağıdaki tablolarda listelenen özniteliklere sahip dosyaları yükler. Bu dosyaların tarih ve saatleri Eşgüdümlü Evrensel Saat'te (UTC) listelenmiştir. Yerel bilgisayarınızda bu dosyaların tarih ve saatleri, yerel saatiniz ile geçerli gün ışığından yararlanma saati (DST) bilgilerine göre görüntülenir. Ayrıca, dosyalarda belirli işlemleri gerçekleştirdiğinizde tarihler ve saatler değişebilir.
Dosya adı |
Dosya sürümü |
Dosya boyutu |
Tarih |
Saat |
Platform |
---|---|---|---|---|---|
C2.dll |
15.0.30729.6147 |
2,283,840 |
25 Şub 2011 |
01:25 |
x86 |
C2.dll |
15.0.30729.6147 |
2,362,688 |
25 Şub 2011 |
01:25 |
x86 |
C2.dll |
15.0.30729.6147 |
2,493,248 |
25 Şub 2011 |
01:25 |
x86 |
C2.dll |
15.0.30729.6147 |
3,018,048 |
25 Şub 2011 |
01:25 |
x64 |
C2.dll |
15.0.30729.6147 |
7,263,040 |
25-Feb-2011 |
01:25 |
IA-64 |
Link.exe |
9.0.30729.6147 |
1,055,560 |
25 Şub 2011 |
01:25 |
x64 |
Link.exe |
9.0.30729.6147 |
2,135,368 |
25-Feb-2011 |
01:25 |
IA-64 |
Link.exe |
9.0.30729.6147 |
800,584 |
25-Feb-2011 |
01:25 |
x86 |
Geçici Çözüm
Bu soruna geçici bir çözüm için böylece derleyici değişkenleri yaşam haberdar olabilir yerel değişkenleri işlevde erken başlatın.
Durum
Microsoft bu sorunun "Aşağıdakilere Uygulanır" bölümünde listelenen Microsoft ürünlerinde bulunduğunu onaylamıştır.
Ek Bilgi
Yazılım güncelleştirme terminolojisi hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasına tıklayın:
824684 Microsoft yazılım güncelleştirmelerini açıklamak için kullanılan standart terminolojinin açıklaması