Aracılığıyla paylaş


#ifdef ve #ifndef yönergeleri (C/C++)

#ifdef ve #ifndef önişlemci yönergeleri, işleciyle kullanıldığında yönergesiyle defined aynı etkiye #if sahiptir.

Sözdizimi

#ifdef identifier
#ifndef identifier

Bu yönergeler şunlara eşdeğerdir:

#if defined identifier
#if !defined identifier

Açıklamalar

ve #ifndef yönergelerini #ifdef her yerde #if kullanabilirsiniz. #ifdef identifier deyimi, tanımlandığı zaman identifier ile #if 1 eşdeğerdir. Tanımlanmamış veya yönergesi tarafından #undef tanımlanmamış olan ile identifier eşdeğerdir#if 0. Bu yönergeler, C veya C++ kaynak kodunda bildirilen tanımlayıcılar için değil, yalnızca ile #definetanımlanan tanımlayıcıların varlığını veya yokluğunu denetler.

Bu yönergeler yalnızca dilin önceki sürümleriyle uyumluluk için sağlanır. defined( ) identifier yönergesiyle #if kullanılan sabit ifade tercih edilir.

yönergesi #ifndef tarafından #ifdefdenetlenen koşulun tersini denetler. Tanımlayıcı tanımlanmamışsa veya tanımı ile #undefkaldırılmışsa koşul true (sıfır olmayan) olur. Aksi takdirde koşul false (0) şeklindedir.

Microsoft'a Özgü

Tanımlayıcı, seçeneği kullanılarak komut satırından /D geçirilebilir. ile /Den fazla 30 makro belirtilebilir.

Yönergesi #ifdef , bir tanımın var olup olmadığını denetlemek için kullanışlıdır çünkü komut satırından bir tanım geçirilebilir. Örneğin:

// ifdef_ifndef.CPP
// compile with: /Dtest /c
#ifndef test
#define final
#endif

END Microsoft'a Özgü

Ayrıca bkz.

Önişlemci yönergeleri