/Gs (控制堆疊檢查呼叫)
控制堆疊探查。
/Gs[size]
引數
- size
(選擇項) 在堆疊探查啟動之前,區域變數可以佔用的位元組數目。
備註
這個選項是控制堆疊探查的一項進階功能。 堆疊探查是編譯器插入至每個函式呼叫的程式碼順序。 啟動之後,堆疊探查會以儲存關聯的函式之區域變數所需的空間數量溫和地向記憶體內探查。
如果函式需要超過 size 個位元組的堆疊空間供區域變數使用,就會啟動它的堆疊探查。 size 的預設值是一頁大小:
在 x86 上 4 KB
在 x64 上 4 KB
在 Itanium 上 8 KB
這個值允許應用程式和 Windows 記憶體管理員,增加在執行階段配置給程式堆疊的記憶體數量。
注意事項 |
---|
size 的預設值允許 Windows 應用程式的堆疊在執行階段適當地成長。 除非您確知為何需要加以變更,否則請勿變更 /Gs 的預設設定。 |
有些程式 (例如虛擬裝置驅動程式) 不需要這項預設堆疊增長機制, 在這類情況下並不需要堆疊探查。 您可以將 size 設定成比任何函式所需區域變數儲存都要大的值,藉以使編譯器停止產生堆疊探查。 /Gs 與 size 之間不可以有任何空格。
/Gs0 的效果與 /Ge (啟用堆疊探查) 相同。
您可以使用 check_stack,開啟或關閉堆疊探查。 請注意,/Gs 和 check_stack 對於標準 C 程式庫常式沒有作用;它們只會影響您編譯的函式。
若要在 Visual Studio 開發環境中設定這個編譯器選項
開啟專案的 [屬性頁] 對話方塊。 如需詳細資訊,請參閱 HOW TO:開啟專案屬性頁。
按一下 [C/C++] 資料夾。
按一下 [命令列] 屬性頁。
在 [其他選項] 方塊中,輸入編譯器選項。
若要以程式方式設定這個編譯器選項
- 請參閱 AdditionalOptions。