/Gs
(Denetim yığını denetimi çağrıları)
Yığın yoklamalarının eşiğini denetler.
Sözdizimi
/Gs
[size
]
Bağımsız değişkenler
size
(İsteğe bağlı) Bir yığın yoklaması başlatılmadan önce yerel değişkenlerin kaplayabileceğiniz bayt sayısı. ile size
arasında /Gs
boşluk kullanılmasına izin verilmez.
Açıklamalar
Yığın yoklaması, derleyicinin bir işlev çağrısının başına ekleyen bir kod dizisidir. Bir yığın yoklaması başlatıldığında, işlevin yerel değişkenlerini depolamak için gereken alan miktarıyla belleğe zararsız bir şekilde ulaşır. Bu yoklama, işlevin geri kalanı çalışmadan önce işletim sisteminin gerekirse daha fazla yığın belleğinde saydam bir şekilde sayfalamasına neden olur.
Varsayılan olarak, derleyici bir işlev birden fazla yığın alanı gerektirdiğinde yığın yoklaması başlatan kod oluşturur. Bu varsayılan, x86, x64, ARM ve ARM64 platformları /Gs4096
için derleyici seçeneğiyle eşdeğerdir. Bu değer, bir uygulamanın ve Windows bellek yöneticisinin çalışma zamanında program yığınına kaydedilmiş bellek miktarını dinamik olarak artırmasına olanak tanır.
Not
varsayılan değeri /Gs4096
, Windows için program uygulama yığınının çalışma zamanında doğru şekilde büyümesine olanak tanır. Neden değiştirmeniz gerekeceğini tam olarak bilmiyorsanız varsayılan değeri değiştirmemenizi öneririz.
Sanal cihaz sürücüleri gibi bazı programlar için bu varsayılan yığın büyüme mekanizması gerekmez. Bu gibi durumlarda yığın yoklamaları gerekli değildir ve yerel değişken depolama için gereken herhangi bir işlevden daha büyük bir değer ayarlayarak size
derleyicinin bunları oluşturmasını durdurabilirsiniz.
/Gs0
yerel değişkenler için depolama gerektiren her işlev çağrısı için yığın yoklamaları başlatır. Bu değerin performans üzerinde olumsuz bir etkisi olabilir.
x64 hedefleri için, seçeneğini bağımsız değişken olmadan belirtirseniz/Gs
, ile aynıdır/Gs0
.size
size
Bağımsız değişken 1 ile 9 arasındaysa, derleyici D9014 uyarısını yayar ve etkisi belirtilmesiyle /Gs0
aynıdır.
x86, ARM ve ARM64 hedefleri için bağımsız /Gs
değişken olmadan size
seçeneği ile aynıdır /Gs4096
. size
Bağımsız değişken 1 ile 9 arasındaysa, derleyici D9014 uyarısını yayar ve etkisi belirtilmesiyle /Gs4096
aynıdır.
Tüm hedefler için, 10 ile 2147483647 arasında bir size
bağımsız değişken belirtilen değerde eşiği ayarlar. size
2147483648 veya daha büyük bir değer C1049 önemli hataya neden olur.
Yönergesini kullanarak check_stack
yığın yoklamalarını açabilir veya kapatabilirsiniz. /Gs
check_stack
ve pragmanın standart C kitaplığı yordamları üzerinde hiçbir etkisi yoktur; bunlar yalnızca derlediğiniz işlevleri etkiler.
Bu derleyici seçeneğini Visual Studio geliştirme ortamında ayarlamak için
Projenin Özellik Sayfaları iletişim kutusunu açın. Ayrıntılar için bkz . Visual Studio'da C++ derleyicisi ve derleme özelliklerini ayarlama.
Yapılandırma Özellikleri>C/C++>Komut Satırı özellik sayfasını seçin.
Ek Seçenekler'de /Gs derleyici seçeneğini ve isteğe bağlı bir boyut girin. Değişikliklerinizi kaydetmek için Tamam'ı veya Uygula'yı seçin.
Bu derleyici seçeneğini program üzerinden ayarlamak için
- Bkz. AdditionalOptions.
Ayrıca bkz.
MSVC derleyici seçenekleri
MSVC derleyicisi komut satırı söz dizimi