/H (Dış Adların Uzunluğunu Kısıtla)

Kullanımdan kaldırıldı. Dış adların uzunluğunu kısıtlar.

Sözdizimi

/Hnumarası

Bağımsız değişkenler

sayı
Bir programda izin verilen en fazla dış ad uzunluğunu belirtir.

Açıklamalar

Varsayılan olarak, dış (genel) adların uzunluğu 2.047 karakterdir. Bu, C ve C++ programları için geçerlidir. /H kullanıldığında, tanımlayıcıların izin verilen uzunluk üst sınırı azaltılabilir, artırılamaz. /H ile sayı arasındaki boşluk isteğe bağlıdır.

Bir program sayıdan daha uzun dış adlar içeriyorsa, ek karakterler yoksayılır. /H olmadan bir program derlerseniz ve tanımlayıcı 2.047 karakterden fazla karakter içeriyorsa, derleyici Önemli Hata C1064 oluşturur.

Uzunluk sınırı, derleyici tarafından oluşturulan öndeki alt çizgi (_) veya at işareti (@) içerir. Bu karakterler tanımlayıcının bir parçasıdır ve önemli bir konum alır.

  • Derleyici, (varsayılan) ve çağırma kuralları tarafından değiştirilen adlara önde gelen __cdecl bir alt çizgi (_) ve __stdcall çağırma kuralı tarafından __fastcall değiştirilen adlara bir baştaki işareti (@_) ekler.

  • Derleyici, ve __stdcall çağrı kuralları tarafından __fastcall değiştirilen adlara bağımsız değişken boyutu bilgilerini ekler ve C++ adlarına tür bilgileri ekler.

/H'yi yararlı bulabilirsiniz:

  • Karma dil veya taşınabilir programlar oluşturduğunuzda.

  • Dış tanımlayıcıların uzunluğuna sınırlar getiren araçlar kullandığınızda.

  • Simgelerin hata ayıklama derlemesinde kullandığı alan miktarını kısıtlamak istediğinizde.

Aşağıdaki örnekte, tanımlayıcı uzunlukları çok fazla sınırlıysa /H kullanmanın hatalara nasıl neden olabileceği gösterilmektedir:

// compiler_option_H.cpp
// compile with: /H5
// processor: x86
// LNK2005 expected
void func1(void);
void func2(void);

int main() { func1(); }

void func1(void) {}
void func2(void) {}

Önceden tanımlanmış derleyici tanımlayıcıları nedeniyle /H seçeneğini kullanırken de dikkatli olmanız gerekir. Tanımlayıcı uzunluğu üst sınırı çok küçükse, belirli kitaplık işlev çağrılarının yanı sıra önceden tanımlanmış bazı tanımlayıcılar çözümlenmez. Örneğin, işlev kullanılırsa ve derleme zamanında /H5 seçeneği belirtilirseprintf, öğesine başvurmak printfiçin _prin simgesi oluşturulur ve bu kitaplıkta bulunmaz.

/H kullanımı /GL (Tüm Program İyileştirme) ile uyumsuz.

Visual Studio 2005'ten bu yana /H seçeneği kullanım dışı bırakıldı; uzunluk üst sınırı artırıldı ve /H artık gerekli değil. Kullanım dışı bırakılan derleyici seçeneklerinin listesi için bkz. Kategoriye Göre Listelenen Derleyici Seçeneklerinde Kullanım Dışı Ve Kaldırılan Derleyici Seçenekleri.

Bu derleyici seçeneğini Visual Studio geliştirme ortamında ayarlamak için

  1. Projenin Özellik Sayfaları iletişim kutusunu açın. Ayrıntılar için bkz . Visual Studio'da C++ derleyicisi ve derleme özelliklerini ayarlama.

  2. Yapılandırma Özellikleri>C/C++>Komut Satırı özellik sayfasını seçin.

  3. Ek Seçenekler kutusuna derleyici seçeneğini girin.

Bu derleyici seçeneğini program üzerinden ayarlamak için

Ayrıca bkz.

MSVC Derleyicisi Seçenekleri
MSVC Derleyicisi Komut Satırı Söz Dizimi