/Zc:__STDC__ (Makro etkinleştir __STDC__ )

/Zc:__STDC__ Derleyici seçeneği, yerleşik __STDC__ önişlemci makroyu C kodunda 1 olarak tanımlar.

Sözdizimi

/Zc:__STDC__

Açıklamalar

Derleyici /Zc:__STDC__ seçeneği, C11 ve C17 kodunu derlerken bunu 1 olarak ayarlayarak ön işlemci makrosunun Standart C uyumlu davranışını __STDC__ uygular.

Bu /Zc:__STDC__ seçenek Visual Studio 2022 sürüm 17.2'de yenidir. Bu seçenek varsayılan olarak kapalıdır, ancak veya /std:c17 belirtildiğinde /std:c11 açıkça etkinleştirilebilir. Seçeneğin olumsuz bir sürümü yoktur.

Bu seçenek kaynak hataya neden olan bir değişikliktir. olduğunda POSIX işlevlerini __STDC__1kullanıma sunmayan UCRT'nin davranışı nedeniyle, kararlı dil sürümlerinde hataya neden olan değişiklikler yapmadan bu makroyu varsayılan olarak C için tanımlamak mümkün değildir.

Örnek

// test__STDC__.c
#include <io.h>
#include <fcntl.h>
#include <stdio.h>

int main() {
#if __STDC__
    int f = _open("file.txt", _O_RDONLY);
    _close(f);
#else
    int f = open("file.txt", O_RDONLY);
    close(f);
#endif
}

/* Command line behavior

C:\Temp>cl /EHsc /W4 /Zc:__STDC__ test__STDC__.c && test__STDC__

*/

Visual Studio'da bu derleyici seçeneğini 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 ekleyin/Zc:__STDC__. Değişikliklerinizi kaydetmek için Tamam'ı veya Uygula'yı seçin.

Ayrıca bkz.

/Zc (Uyumluluk)
/std (Dil standart sürümünü belirtin)