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.

Belirtiler

Aşağıdaki senaryoyu ele alın.

  • Bir yapı ya da Microsoft Visual Studio 2008 Service Pack 1 (SP1) bir sınıfta bir bayt yükleyen bir uygulama oluşturun.

  • Siz /Ox en iyileştirme seçeneğini veya /O2 en iyileştirme seçeneğini açın.

  • Yayın yapılandırma için x64 kullanarak uygulamayı derleyin platformu.

Bu senaryoda, yapısı üyesi veya sınıf üyesi erişmek için oluşturulan mahsup yanlıştır.

Bu sorun, yalnızca zaman yapı boyutu ve uzaklık veya sınıf boyutu ve uzaklık aşağıdaki çiftleri biri eşit oluşur:

  • (14,13)

  • (15,13)

  • (22,21)

  • (23,21)

  • (30,29)

  • (31,29)

Çözüm

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, bu düzeltmeyi içeren bir sonraki Visual Studio 2008 hizmet paketini beklemenizi öneririz.

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 2008 Service Pack bu düzeltmeyi uygulamak için 1 olmalıdır.

Yeniden başlatma gereksinimi

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 Denetim Masası'ndaki Tarih ve Saat öğesinde Saat Dilimi sekmesini kullanın.

Dosya adı

Dosya sürümü

Dosya boyutu

Tarih

Saat

Platform

C2.dll

15.0.30729. 4082

2,283,320

19 Mar 2009

05:13

x86

C2.dll

15.0.30729.4082

2,36 1,656

19 Mar 2009

05:13

x86

C2.dll

15.0.30729.4082

3,01 7,528

19 Mar 2009

05:13

x64

Link.exe

9.0.30729.4082

1,0 54,520

19 Mar 2009

05:13

x64

Link.exe

9.0.30729.4082

799, 032

19-Mar-2009

05:13

x86

Geçici çözüm

Bu soruna geçici bir çözüm için yapı veya sınıfın en küçük katına sekiz bayt boyutunu genişletmek için bir veya daha fazla kukla "İmzasız char" üyeler ekleyin. Örneğin, 14 16 bayt bayt genişletir.

Durum

Microsoft bu sorunun "Aşağıdakilere Uygulanır" bölümünde listelenen Microsoft ürünlerinde bulunduğunu onaylamıştır.

Daha fazla 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ı

Sorunu yeniden oluşturma adımları

  1. Visual Studio 2008 SP1'de aşağıdaki kodu kullanarak Test.cpp adlı bir uygulama oluşturun:

    typedef struct DskDecimal{
    unsigned char precision;
    unsigned char scaleFactor;
    unsigned short value[ 5];
    unsigned char maxPrecision;
    unsigned char maxScaleFactor;
    } DskDecimal;

    int main()
    {
    DskDecimal decimal;
    decimal.maxScaleFactor = 4;
    DskDecimal self = decimal;
    return self.maxScaleFactor;
    }

  2. Aşağıdaki komutu kullanarak uygulamayı derleyin:

    cl test.cpp /O2 /MD

Beklenen sonuç 4 olacaktır. Ancak, gerçek sonuç 0'dır.

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!

×