Microsoft hesabıyla oturum açın
Oturum açın veya hesap oluşturun.
Merhaba,
Farklı bir hesap seçin.
Birden çok hesabınız var
Oturum açmak istediğiniz hesabı seçin.

Giriş

Bu makalede açıklanan düzeltme, Microsoft Visual Studio 2010'de aşağıdaki sorunları giderir.

Sorun 1

Kaynak kodunda döngüleri olan bir uygulamayı çalıştırdığınızda beklenmeyen davranışlarla karşılaşabilirsiniz. Kaynak kodunu genel en iyi duruma getirme ile derlenmişse, bu sorun oluşur (/ Og) etkin.

Sorun 2

Aşağıdaki senaryoyu düşünün:

  • Atlcomcli.h dosyasını içeren bir Visual C++ projesinin var.

  • /J derleyici seçeneği tanımlamak için belirttiğiniz_CHAR_UNSIGNEDmakro projesi içinde.

  • Siz projeyi derleyin.

Bu senaryoda, aşağıdaki hata iletilerinden birini alabilirsiniz:

  • hata C2338: < char > CVarTypeInfo /J veya _CHAR_UNSIGNED bayrağı etkin ile derlenmiş olamaz

  • hata C2338: CVarTypeInfo < char * > etkin /J veya _CHAR_UNSIGNED bayrağı ile derlenmiş olamaz

Sorun 3

Bir x86 tabanlı Windows sürümü için oluşturulmuş bir Visual C++ uygulamasını çalıştırdığınızda erişim ihlali oluşuyor. Uygulama iki dizi türü giriş bağımsız değişkenleri olan bir ifade ağacı olduğunda bu sorun oluşur.

Neden

1 sorunun nedenini

Bu sorun, yanlış döngü optimizasyon yürütülen oluşur. Bu, hatalı kod üretimi neden olur.

2 sorunun nedenini

Atlcomcli.h dosyasında statik onayları /J seçeneği ve CHAR_UNSIGNED makro için yanlış ayarlandığından, bu sorun oluşur.

Sorunun 3

İtme yönergeleri değişkenlerinde karışık çünkü bu sorun oluşur. Bu nedenle, yönergeleri itmek için yanlış bağımsız değişken geçirilir.

Daha fazla bilgi

Düzeltme bilgileri

Artık Microsoft tarafından desteklenen bir düzeltme sağlanmaktadır. Ancak bunun yalnızca bu makalede anlatılan sorunu düzeltmesi amaçlanmıştır. Yalnızca bu özel sorunla karşılaşmış olan sistemlere uygulayın. Bu düzeltme ek sınama uygulanabilir. Bu nedenle, bu sorundan ciddi bir şekilde etkilemiyorsa, sonraki Visual Studio, bu düzeltmeyi içeren 2010 için beklemeniz önerilir.

Bu sorunu hemen düzeltmek 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=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.

Önkoşullar

Visual Studio 2010 bu düzeltmeyi uygulamak için yüklü olması gerekir.

Yeniden başlatma gereksinimi

Etkilenen bir dosyayı kullanılıyorsa, bu düzeltmeyi uyguladıktan sonra bilgisayarı yeniden başlatmanız gerekmez.

Düzeltme değiştirme bilgileri

Bu düzeltme eki, başka düzeltmelerin yerini almaz.

Dosya bilgileri


Bu düzeltmenin İngilizce sürümü, aşağıdaki tabloda listelenen dosya özniteliklerine (veya daha yeni dosya özniteliklerine) sahiptir. Bu dosyaların tarihleri ve saatleri Koordinatlı Evrensel Saat'te (UTC) listelenmiştir. Dosya bilgilerini görüntülediğinizde koordinatlı evrensel saat 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ı'ndaki öğe.

Dosya adı

Dosya sürümü

Dosya boyutu

Tarih

Saat

Platform

C2.dll

16.0.30319.314

2,510,144

30-May-2010

20:48

x86

C2.dll

16.0.30319.314

2,588,480

30-May-2010

20:48

x86

C2.dll

16.0.30319.314

2,630,976

30-May-2010

20:48

x86

C2.dll

16.0.30319.314

2,977,600

30-May-2010

20:48

x64

C2.dll

16.0.30319.314

7,351,616

30-May-2010

20:48

IA-64

Geçici çözüm

Sorun 1'için geçici çözüm

Bu soruna geçici bir çözüm bulmak için en iyi duruma getirme Genel devre dışı bırakın. Global optimizasyon devre dışı bırakma hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:

216181 DÜZELTME: yanlış kod /Og iyileştirme ile oluşturulan

Sorun 2'için geçici çözüm

Bu soruna geçici bir çözüm için Atlcomcli.h dosyası eklemek için aşağıdaki pragma yönergesini kullanın.

#pragma push_macro("ATLSTATIC_ASSERT")
#undef ATLSTATIC_ASSERT

#define ATLSTATIC_ASSERT(x,y)

#include <atlcomcli.h>

#undef ATLSTATIC_ASSERT

#pragma pop_macro("ATLSTATIC_ASSERT")

Daha fazla yardıma mı ihtiyacınız var?

Daha fazla seçenek mi istiyorsunuz?

Abonelik avantajlarını keşfedin, eğitim kurslarına göz atın, cihazınızın güvenliğini nasıl sağlayacağınızı öğrenin ve daha fazlasını yapın.

Topluluklar, soru sormanıza ve soruları yanıtlamanıza, geri bildirimde bulunmanıza ve zengin bilgiye sahip uzmanlardan bilgi almanıza yardımcı olur.

Bu bilgi yararlı oldu mu?

Dil kalitesinden ne kadar memnunsunuz?
Deneyiminizi ne etkiledi?
Gönder’e bastığınızda, geri bildiriminiz Microsoft ürün ve hizmetlerini geliştirmek için kullanılır. BT yöneticiniz bu verileri toplayabilecek. Gizlilik Bildirimi.

Geri bildiriminiz için teşekkürler!

×