Önceden tanımlı makrolar
Önceden tanımlanmış listeler ANSI c ve C++ Microsoft uygulaması makrolar.
Derleyici öntanımlı ANSI c makroları tanır ve Microsoft C++ uygulamasında birden çok daha fazlasını sağlar. Bu makroları hiçbir bağımsız değişken alır ve yeniden tanımlanamaz. Aşağıda listelenen önceden tanımlanmış makroların bazıları birden çok değeri ile tanımlanır. Daha fazla bilgi için aşağıdaki tablolara bakın.
ANSI uyumlu önceden tanımlı makrolar
Makro |
Description |
---|---|
__DATE__ |
Geçerli kaynak dosyası derleme tarihi. Tarihidir bir dize hazır bilgi formunun dd Mmm yyyy. Ay adı aaa Kitaplığı işlevi kullanılarak oluşturulan tarihleri aynıdır asctime zaman bildirildi.H. |
__FILE__ |
Geçerli kaynak dosyasının adıdır. __FILE__çift tırnak işaretleri içinde bir dizeye genişler. Dosyasının tam yolunu görüntülendiğinden emin olmak için /fc (Tanılama kaynak kod dosyasının tam yolu). |
__LINE__ |
Geçerli kaynak dosyadaki satır numarası. Satır numarasını ondalık tamsayı sabiti ' dir. İle değiştirilebilir bir #line yönergesi. |
__STDC__ |
Tam uygunluğu gösterir ANSI c standardı. Tamsayı sabiti 1 eksikse tanımlanan /Za derleyici seçeneği verilir ve C++ kodu; derleme değil Aksi takdirde tanımlı değil. |
__TIME__ |
Geçerli kaynak dosyasının en son derleme zamanı. Zamandır bir dize hazır bilgi formunun SS. |
__TIMESTAMP__ |
Tarih ve saat biçiminde bir dize olarak ifade edilen geçerli kaynak dosyasının, son değişikliğin yapıldığı Ddd aaa tarih ss yyyy, burada Ddd kısaltılmış haftanın gününü ise ve tarihi 31 ile 1 arasında bir tamsayı olan. |
Özel Microsoft önceden tanımlı makrolar
Makro |
Description |
---|---|
_ATL_VER |
atl sürümünü tanımlar. De Visual Studio 2010, _ATL_VER 0x1000 tanımlanır. |
_CHAR_UNSIGNED |
Varsayılan char türü imzalanmamış. Ne zaman tanımlı /j belirtilir. |
__CLR_VER |
Uygulama derlendiğinde kullanılan ortak dil çalışma zamanı sürümünü tanımlar. Döndürülen değer aşağıdaki biçimde olacaktır: Mmmbbbbb Burada,
|
__cplusplus_cli |
Tanımlanmış olan derleme ne zaman /clr, /clr:pure, ya da /clr:safe. __Cplusplus_cli 200406 değeridir. __cplusplus_cli çeviri biriminin etkindir.
|
__COUNTER__ |
0 İle başlayan ve kaynak dosyada kullanılan ya da kaynak dosyası üstbilgileri dahil her zaman 1'den başlayarak tamsayı genişletir. __COUNTER__önceden derlenmiş üstbilgileri kullanıldığında durumuna hatırlar. Aşağıdaki örnek __COUNTER__ üç farklı nesnelere aynı türe ait benzersiz tanımlayıcılar atamak için. İlk olarak, aşağıdaki sınıf tanımı varsayalım. Yapıcı bir tamsayı parametre olarak alır.
Ana, üç nesne türü uygulamaya bildirir exampleClass, kullanma __COUNTER__ olarak benzersiz tanımlayıcı parametresi.
|
__cplusplus |
C++ programları için tanımlanır. |
_CPPRTTI |
Kod ile derlenmesi için tanımlanan /gr (çalışma zamanı tür bilgilerini etkinleştir). |
_CPPUNWIND |
Kod ile derlenmesi için tanımlanan /gx (özel durum işlemeyi etkinleştir). |
_DEBUG |
|
_DLL |
Ne zaman tanımlı /md veya /MDd (çok iş parçacıklı dll) belirtilir. |
__FUNCDNAME__ |
Yalnızca bir işlev içinde geçerlidir. Tanımlar adı ve bir dize olarak kapsayan işlevinin. __FUNCDNAME__kullanıyorsanız, genişletilmiş durumda değil /ep veya /p derleyici seçeneği. Aşağıdaki örnek __FUNCDNAME__, __FUNCSIG__, ve __FUNCTION__ işlev bilgileri görüntülemek için makrolar.
|
__FUNCSIG__ |
Yalnızca bir işlev içinde geçerlidir. İmza kapsayan işlevinin bir dize olarak tanımlar. __FUNCSIG__kullanıyorsanız, genişletilmiş durumda değil /ep veya /p derleyici seçeneği. 64-Bit işletim sisteminde çağırma kuralı olan __cdecl varsayılan olarak. Bir örnek için bkz. __FUNCDNAME__ |
__FUNCTION__ |
Yalnızca bir işlev içinde geçerlidir. Bir dize olarak ve kapsayan işlevin adını tanımlar. __FUNCTION__kullanıyorsanız, genişletilmiş durumda değil /ep veya /p derleyici seçeneği. Bir örnek için bkz. __FUNCDNAME__ |
_INTEGRAL_MAX_BITS |
En büyük boyutu (BITS) tamsayı türü için raporlar.
|
_M_ALPHA |
Tanımlanan için dec alpha platformlarında (artık desteklenmiyor). |
_M_AMD64 |
X 64 işlemciler için tanımlanmamış. |
_M_CEE |
Herhangi bir biçimde kullanan bir derleme için tanımlanan /clr (/clr:oldSyntax, /clr:safe, örneğin). |
_M_CEE_PURE |
Kullanan bir derleme için tanımlanan /clr:pure. |
_M_CEE_SAFE |
Kullanan bir derleme için tanımlanan /clr:safe. |
_M_IX86 |
X 86 işlemciler için tanımlanmamış. Bkz: _M_IX86 değerlerini daha fazla bilgi için tablo aşağıda. X 64 için tanımlanmamış işlemciler. |
_M_IA64 |
İçin tanımlanan Itanium işlemci ailesinin 64-bit işlemciler için. |
_M_ARM_FP |
Hangi gösteren bir değer genişletir /arch derleyici seçeneği kullanıldı:
|
_M_IX86_FP |
Hangi gösteren bir değer genişletir /arch derleyici seçeneği kullanıldı:
|
_M_MPPC |
Power Macintosh platformları için (artık desteklenmemektedir) tanımlanır. |
_M_MRX000 |
(Artık desteklenmemektedir) MIPS platformları için tanımlanır. |
_M_PPC |
(Artık desteklenmemektedir) PowerPC platformları için tanımlanır. |
_M_X64 |
X 64 işlemciler için tanımlanmamış. |
_MANAGED |
1 Olması için tanımlanan /clr belirtilir. |
_MFC_VER |
mfc sürümünü tanımlar. Örneğin, Visual Studio 2010, _MFC_VER 0x0A00 tanımlanır. |
_MSC_BUILD |
Derleyici 's sürüm numarasının düzeltme numarası bileşen olarak değerlendirilir. Gözden geçirme numarası noktayla ayrılmış sürüm numarası dördüncü bileşenidir. Örneğin, 15.00.20706.01, Visual C++ derleyicisi sürüm numarası olan _MSC_BUILD makro 1 olarak değerlendirilir. |
_MSC_EXTENSIONS |
Bu makro ile derleme yaparken tanımlanmış /Ze derleyici seçeneği (varsayılan). Tanımladığınızda, onun değeri 1'dir. |
_MSC_FULL_VER |
Büyük, küçük, değerlendirir ve derleyici 's sürüm numarası, numara bileşenlerini oluşturacaktır. Noktayla ayrılmış sürüm numarasının ilk bileşen başlıca sayıdır, ikinci bileşeni küçük sayıdır ve üçüncü bileşen derleme numarasıdır. Örneğin, 15.00.20706.01, Visual C++ derleyicisi sürüm numarası olan _MSC_FULL_VER 150020706 için makro değerlendirir. Type cl /? derleyici 's sürüm numarasını görüntülemek için komut satırında. |
_MSC_VER |
Büyük ve küçük numara bileşenleri derleyici 's sürüm numarası için değerlendirir. Büyük sayı noktayla ayrılmış sürüm numarasının ilk bileşenidir ve ikinci bileşeni küçük sayıdır. Örneğin, 15.00.20706.01, Visual C++ derleyicisi sürüm numarası olan _MSC_VER makro 1500 değerlendirir. De Visual Studio 2010, _MSC_VER 1600 tanımlanır. |
__MSVC_RUNTIME_CHECKS |
Ne zaman tanımlı birini /rtc derleyici seçenekleri belirtilir. |
_MT |
Ne zaman tanımlı /md veya /MDd (çok iş parçacıklı dll) veya /mt veya /MTd (Multithreaded) belirtilir. |
_NATIVE_WCHAR_T_DEFINED |
Ne zaman tanımlı /Zc:wchar_t kullanılır. |
_OPENMP |
Visual C++ tarafından uygulanan OpenMP belirtimi tarihini temsil eden bir tamsayı /OpenMP ile derleme döndürdüğünde tanımlanır.
|
_VC_NODEFAULTLIB |
Ne zaman tanımlı /Zl kullanılır; Bkz: /Zl (Varsayılan kitaplık adını gözardı et) daha fazla bilgi için. |
_WCHAR_T_DEFINED |
Ne zaman tanımlı /Zc:wchar_t kullanılan veya wchar_t projenize dahil sistem üstbilgi dosyasında tanımlanır. |
_WIN32 |
Win32 ve Win64 uygulamalar için tanımlanır. Her zaman tanımlı. |
_WIN64 |
Win64 uygulamalar için tanımlanır. |
_Wp64 |
Belirtirken tanımlanan /Wp64. |
Aşağıdaki tabloda gösterildiği gibi derleyici İşlemci seçeneği belirtilen yansıtacak Önişlemci tanımlayıcıları için bir değer üretir.
_M_IX86 değerleri
Geliştirme ortamında seçeneği |
Komut Satırı Seçeneği |
Sonuç değeri |
---|---|---|
Karışım |
/GB |
_M_IX86 = 600(Varsayılan değer. Gelecekte derleyiciler baskın işlemci yansıtmak için farklı bir değer yayma.) |
Pentium |
/ G5 |
_M_IX86 = 500 |
Pentium Pro, Pentium II ve Pentium III |
/ G6 |
_M_IX86 = 600 |
80386 |
/ G3 |
_M_IX86 = 300 |
80486 |
/ G4 |
_M_IX86 = 400 |