Aracılığıyla paylaş


/backward_compat Anahtarı

/backward_compat anahtarı, RPC/COM saptamaları oluştururken MIDL derleyicisini bazı gelişmiş özellikleri kapatmaya yönlendirir.

midl /backward_compat { maybenull_sizeis | zeroout_alignmentgap | 
     BSTR_byvalue_escaping | string_defaultvalue | signed_wchar_t }

Seçenekleri Değiştir

maybenull_sizeis

[disable_consistency_check] özniteliğini midl derlemesinin tamamına uygular.

zeroout_alignmentgap

Sıralanmış arabellekteki boşlukların sıfırlanması kapatılır.

BSTR_byvalue_escaping

BSTR'lerde MIDL derleyicisini\ñ veya ™ †̃\t†™ gibi kaçış dizilerine uymaya yönlendirir.

string_defaultvalue

MIDL derleyicisini [defaultvalue] özniteliklerindeki dizeleri VARIANT olarak zorlamaya zorlar. değeri doğru türe zorlamadan önce VT_I4 yazın.

signed_wchar_t

WCHAR_T türünü Visual Basic ile uyumluluk için imzalı olarak ele almak için MIDL'yi yönlendirir.

Açıklamalar

  • maybenull_sizeis: Bkz. [disable_consistency_check].

  • zeroout_alignmentgap: IDL'ler bir€"target NT60 veya üzeri ile derlendiğinde, MIDL üyeler arasındaki hizalama boşluklarını veya tel arabelleğindeki bir yapıyı sıfırlayan saplamalar oluşturur. /backward_compat zeroout_alignmentgap komut satırı anahtarı, MIDL'yi bu özelliği devre dışı bırakmaya yönlendirir.

    Aşağıdaki örnek yapıda, tel arabellek, hiper üyeyi karakter üyesinden sonra 8'e hizalamak için 7 bayt hizalama boşluğu içerir. Hedef NT60 veya üzeri ile, anahtar kullanılmadığı sürece MIDL bu boşluğu sıfırlar.

    IDL dosyası:

    typedef struct _structwithgaps{
        char c;
        // 7 byte gap to align the following hyper to 8 
        hyper h;
    } structwithgap;
    

    Bu anahtar, ifşa riskinin önemli ölçüde artmasıyla hafif bir performans iyileştirmesi sağlayabilir.

  • BSTR_byvalue_escaping: Varsayılan olarak, MIDL derleyicisi bir dize sabitini VT_LPSTR veya VT_LPWSTR türlerine dönüştürürken OLE Otomasyonu için dize sabitlerinde †̃\n†™ veya †̃\t†™ gibi kaçış dizilerini işlemez. Bu geriye dönük uyumluluk anahtarı seçeneğiyle kaçış dizileri değerlendirilir.

  • string_defaultvalue: MIDL derleyicisini [defaultvalue] özniteliklerindeki sayısal dizeleri VARIANT olarak zorlamaya zorlar. değeri doğru türe zorlamadan önce VT_I4 yazın. Bu, bazı durumlarda duyarlık kaybına yol açabilir, bu nedenle bu anahtar seçeneği önerilmez.

  • signed_wchar_t: WCHAR_T türünü Visual Basic ile uyumluluk için imzalı olarak ele almak için MIDL'yi yönlendirir.