Aracılığıyla paylaş


/ Gd, /Gr, /Gz (Arama kuralı)

Bu seçenekler, fonksiyon bağımsız değişkenleri bu da yığına itilir sırasını belirlemek; olup çağıran işlev veya çağrılan işlev çağrısı, sonunda yığından bağımsız kaldırır; ve derleyici her işlev tanımlamak için kullandığı adı decorating kuralı.

/Gd
/Gr
/Gz

Notlar

[!NOT]

Bu derleyici seçenekleri, yalnızca x 86 hedefleme derleyici kullanılabilir; hedefleme derleyiciler bu derleyici seçenekleri kullanılamaz x64 veya Itanium.

/Gd, varsayılan ayarı belirtir __cdecl for C++ üye dışındaki tüm işlevleri işlevleri ve işaretlenmiş işlevlerini çağırma çaðrý standardýný veya __fastcall.

/Grbelirtir __fastcall C++ üye dışındaki tüm fonksiyonlar için sfunctions ve işaretlenmiş işlevlerini çağırma __cdecl veya __stdcall.Tüm __fastcall işlevleri prototipler olması gerekir.

/Gzbelirtir __stdcall for C++ üye dışındaki tüm işlevleri işlevleri ve işaretlenmiş işlevlerini çağırma __cdecl veya __fastcall.Tüm __stdcall işlevleri prototipler olması gerekir.

Bağımsız değişken bir dizi ele işlevleri işaretlenmesi __cdecl.

/Gd, /Gr, and /Gz are not compatible with /clr:safe or /clr:pure.

[!NOT]

X 86 işlemciler, varsayılan olarak, C++ üye işlevler kullanma __thiscall.

Tüm işlemciler, açıkça olarak işaretlenmiş bir üye işlev için __cdecl, __fastcall, veya __stdcall belirtilen çağrı kuralı kullanır.Sayılarda bağımsız değişken kullanır her zaman alır bir üye işlev __cdecl çağırma.

__cdecl özellikleri

C, __cdecl kuralını kullanır işlev adı adlandırma önünde bir alt çizgi ( _ ); büyük bir çeviri gerçekleştirilir.Olarak bildirilmiş olmadıkça extern "c" C++ işlevleri, farklı bir ad decorating düzeni kullanın.Daha fazla bilgi için bkz. Süslenmiş adları.

__fastcall özellikleri

Bazıları bir __fastcall işlevinin bağımsız değişkenleri kayıtlarına geçirilen (x 86 işlemcileri, ecx ve edx), ve geri kalan kalan bu da yığına sağdan sola.Verdiği önce çağrılan yordam bu bağımsız değişkenler yığından POP.Genellikle, /Gr yürütme zamanı azaltır.

[!NOT]

Kullanırken dikkatli olun __fastcall satır içi assembly dilinde yazılmış herhangi bir işlev çağırma.Kayıtları kullanımınızı derleyici 's kullanımı ile çakışıyor.

C, __fastcall kuralını kullanır işlev adı adlandırma önünde bir at işareti (@) işlevinin bağımsız değişkenleri bayt cinsinden boyutunu arkasından.Büyük bir çeviri yapılır.Derleyici aşağıdaki şablonu için adlandırma kuralını kullanır:

@function_name@number

Kullanırken __fastcall adlandırma kuralı, standart içerik dosyaları kullanın.Aksi halde, çözülmemiş dış başvurular elde edersiniz.

çaðrý standardýný özellikleri

A __stdcall işlevin bağımsız kalan bu da yığına sağdan sola ve verdiği önce çağrılan işlev bu bağımsız değişkenler yığından POP.

C, __stdcall kuralını kullanır işlev adı adlandırma önünde bir alt çizgi ( _ ) ve arkasından bir at işareti (@) ve işlevin bağımsız bayt cinsinden boyutu.Büyük bir çeviri gerçekleştirilir.Derleyici aşağıdaki şablonu için adlandırma kuralını kullanır:

_functionname@number

x 86 özel

Bu seçenek ad deseni C++ yöntemleri ve işlevler üzerinde etkisi yoktur.Olarak bildirilmiş olmadıkça extern "c" C++ yöntemleri ve işlevleri farklı bir ad decorating düzeni kullanın.Daha fazla bilgi için bkz. Süslenmiş adları.

Arama kuralları hakkında daha fazla bilgi için bkz: Arama kuralları.

Son x 86 özel

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

  1. Projenin Özellik Sayfaları iletişim kutusunu açın.Ayrıntılar için bkz. Nasıl yapılır: Proje özellik sayfalarını açın.

  2. Tıklatın c/C++ klasörü.

  3. Tıklatın Gelişmiş özellik sayfası.

  4. Değiştirmek Çağırma kuralı özelliği.

Bu derleyici seçeneği programlı olarak ayarlamak için

Ayrıca bkz.

Başvuru

Derleme Seçenekleri

Derleyici seçeneklerini ayarlama