Aracılığıyla paylaş


/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 sizearası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.

Dekont

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 /Gs0aynı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 /Gs4096aynı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. /Gscheck_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

  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'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

Ayrıca bkz.

MSVC derleyici seçenekleri
MSVC derleyicisi komut satırı söz dizimi