Windows下常用系统宏,如文件名,行号,日期
来源:互联网 发布:淘宝售后说明 编辑:程序博客网 时间:2024/05/20 06:26
摘自MSDN
Names the predefined ANSI C and Microsoft C++ implementation macros.
The compiler recognizes predefined ANSI C macros and the Microsoft C++ implementation provides several more. These macros take no arguments and cannot be redefined. Some of the predefined macros listed below are defined with multiple values. See the following tables for more information.
Macro
Description
__DATE__
The compilation date of the current source file. The date is a string literal of the formMmm dd yyyy. The month nameMmm is the same as for dates generated by the library functionasctime declared in TIME.H.
__FILE__
The name of the current source file. __FILE__ expands to a string surrounded by double quotation marks. To ensure that the full path to the file is displayed, use/FC (Full Path of Source Code File in Diagnostics).
You can create your own wide string version of __FILE__ as follows:
#include <stdio.h>#define WIDEN2(x) L ## x#define WIDEN(x) WIDEN2(x)#define __WFILE__ WIDEN(__FILE__)wchar_t *pwsz = __WFILE__;int main() {}
__LINE__
The line number in the current source file. The line number is a decimal integer constant. It can be altered with a#line directive.
__STDC__
Indicates full conformance with the ANSI C standard. Defined as the integer constant 1 only if the /Za compiler option is given and you are not compiling C++ code; otherwise is undefined.
__TIME__
The most recent compilation time of the current source file. The time is a string literal of the formhh:mm:ss.
__TIMESTAMP__
The date and time of the last modification of the current source file, expressed as a string literal in the formDdd Mmm Date hh:mm:ss yyyy, whereDdd is the abbreviated day of the week andDate is an integer from 1 to 31.
Macro
Description
_ATL_VER
Defines the ATL version.
_CHAR_UNSIGNED
Default char type is unsigned. Defined when /J is specified.
__CLR_VER
Defines the version of the common language runtime used when the application was compiled. The value returned will be in the following format:
Mmmbbbbb
where,
M is the major version of the runtime
mm is the minor version of the runtime
bbbbb is the build number.
// clr_ver.cpp// compile with: /clrusing namespace System;int main() { Console::WriteLine(__CLR_VER);}
__cplusplus_cli
Defined when compiling with /clr, /clr:pure, or/clr:safe. Value of __cplusplus_cli is 200406. __cplusplus_cli is in effect throughout the translation unit.
// cplusplus_cli.cpp// compile with: /clr#include "stdio.h"int main() { #ifdef __cplusplus_cli printf("%d\n", __cplusplus_cli); #else printf("not defined\n"); #endif}
__COUNTER__
Expands to an integer starting with 0 and incrementing by 1 every time it is used in a compiland.__COUNTER__ remembers its state when using precompiled headers. If the last__COUNTER__ value was 4 after building a precompiled header (PCH), it will start with 5 on each PCH use.
__COUNTER__ lets you generate unique variable names. You can use token pasting with a prefix to make a unique name. For example:
// pre_mac_counter.cpp#include <stdio.h>#define FUNC2(x,y) x##y#define FUNC1(x,y) FUNC2(x,y)#define FUNC(x) FUNC1(x,__COUNTER__)int FUNC(my_unique_prefix);int FUNC(my_unique_prefix);int main() { my_unique_prefix0 = 0; printf_s("\n%d",my_unique_prefix0); my_unique_prefix0++; printf_s("\n%d",my_unique_prefix0);}
__cplusplus
Defined for C++ programs only.
_CPPLIB_VER
Defined if you include any of the C++ Standard Library headers; reports which version of the Dinkumware header files are present.
_CPPRTTI
Defined for code compiled with /GR (Enable Run-Time Type Information).
_CPPUNWIND
Defined for code compiled with /GX (Enable Exception Handling).
_DEBUG
Defined when compiling with /LDd, /MDd, and /MTd.
_DLL
Defined when /MD or /MDd (Multithread DLL) is specified.
__FUNCDNAME__
Valid only within a function and returns the decorated name of the enclosing function (as a string).__FUNCDNAME__ is not expanded if you use the /EP or /P compiler option.
__FUNCSIG__
Valid only within a function and returns the signature of the enclosing function (as a string).__FUNCSIG__ is not expanded if you use the /EP or /P compiler option.
On a 64-bit operating system, the calling convention is __cdecl by default.
__FUNCTION__
Valid only within a function and returns the undecorated name of the enclosing function (as a string).__FUNCTION__ is not expanded if you use the /EP or /P compiler option.
_INTEGRAL_MAX_BITS
Reports the maximum size (in bits) for an integral type.
// integral_max_bits.cpp#include <stdio.h>int main() { printf("%d\n", _INTEGRAL_MAX_BITS);}
_M_ALPHA
Defined for DEC ALPHA platforms (no longer supported).
_M_CEE
Defined for a compilation that uses any form of /clr (/clr:oldSyntax,/clr:safe, for example).
_M_CEE_PURE
Defined for a compilation that uses /clr:pure.
_M_CEE_SAFE
Defined for a compilation that uses /clr:safe.
_M_IX86
Defined for x86 processors. See Values for _M_IX86 for more details.
_M_IA64
Defined for Itanium Processor Family 64-bit processors.
_M_IX86_FP
Expands to a value indicating which /arch compiler option was used:
0 if /arch was not used.
1 if /arch:SSE was used.
2 if /arch:SSE2 was used.
See /arch (Minimum CPU Architecture) for more information.
_M_MPPC
Defined for Power Macintosh platforms (no longer supported).
_M_MRX000
Defined for MIPS platforms (no longer supported).
_M_PPC
Defined for PowerPC platforms (no longer supported).
_M_X64
Defined for x64 processors.
_MANAGED
Defined to be 1 when /clr is specified.
_MFC_VER
Defines the MFC version. For example, 0x0700 represents MFC version 7.
_MSC_BUILD
Evaluates to the revision number component of the compiler's version number. The revision number is the fourth component of the period-delimited version number. For example, if the version number of the VC++ compiler is 15.00.20706.01, the_MSC_BUILD macro evaluates to 1.
_MSC_EXTENSIONS
This macro is defined when compiling with the /Ze compiler option (the default). Its value, when defined, is 1.
_MSC_FULL_VER
Evaluates to the major, minor, and build number components of the compiler's version number. The major number is the first component of the period-delimited version number, the minor number is the second component, and the build number is the third component. For example, if the version number of the VC++ compiler is 15.00.20706.01, the _MSC_FULL_VER macro evaluates to 150020706. Type cl /? at the command line to view the compiler's version number.
_MSC_VER
Evaluates to the major and minor number components of the compiler's version number. The major number is the first component of the period-delimited version number and the minor number is the second component.
For example, if the version number of the VC++ compiler is 15.00.20706.01, the_MSC_VER macro evaluates to 1500.
__MSVC_RUNTIME_CHECKS
Defined when one of the /RTC compiler options is specified.
_MT
Defined when /MD or /MDd (Multithreaded DLL) or /MT or /MTd (Multithreaded) is specified.
_NATIVE_WCHAR_T_DEFINED
Defined when /Zc:wchar_t is used.
_OPENMP
Defined when compiling with /openmp, returns an integer representing the date of the OpenMP specification implemented by Visual C++.
// _OPENMP_dir.cpp// compile with: /openmp #include <stdio.h> int main() { printf("%d\n", _OPENMP);}
_VC_NODEFAULTLIB
Defined when /Zl is used; see /Zl (Omit Default Library Name) for more information.
_WCHAR_T_DEFINED
Defined when /Zc:wchar_t is used or if wchar_t is defined in a system header file included in your project.
_WIN32
Defined for applications for Win32 and Win64. Always defined.
_WIN64
Defined for applications for Win64.
_Wp64
Defined when specifying /Wp64.
- Windows下常用系统宏,如文件名,行号,日期
- Windows 中如何用日期做文件名
- Windows系统下gvim字体和主题设置,显示行号
- Linux和Windows系统下C++读取文件夹下文件名
- [搜集]定位文件出错位置行号、日期、文件名、函数
- C++ 打印文件名, 行号,编译日期和时间例子
- C++打印当前的行号,文件名,编译时间,编译日期
- 获取程序文件名,函数名,行号,日期,时间
- Windows系统文件名详解
- Windows系统文件名详解
- Windows系统文件名详解
- windows系统文件名详解
- 备查常用bcb函数(文件名/字符串/日期)
- windows下取得系统常用信息方法
- windows下取得系统常用信息方法
- Windows下常用的系统命令
- Windows系统下Android studio常用快捷键
- windows系统下Unity3d所有常用快捷键
- 彻底卸载风行播放器
- hbase数据的导入与导出
- android设置系统语言,字体大小,字体样式导致widget控件失效
- socket
- linux下第一个java程序
- Windows下常用系统宏,如文件名,行号,日期
- windows平台手动编译pcre
- FAT32与FAT16 有何区别
- Java多线程对耗时方法的同步问题
- CAS异常之context[]startup failed due to previous errors
- 设置mysql的interactive_timeout和wait_timeout的值
- sql语句优化
- Could not write file XXX\.classpath解决
- 电脑磁盘碎片整理