__LINE__ __DATE__ __FILE__ __TIME__ 等宏定义解释
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 form Mmm dd yyyy. The month name Mmm 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:
|
||||
|
__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 form hh:mm:ss. |
||||
|
__TIMESTAMP__ |
The date and time of the last modification of the current source file, expressed as a string literal in the form Ddd Mmm Date hh:mm:ss yyyy, where Ddd is the abbreviated day of the week and Date 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.
|
||||
|
__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.
|
||||
|
__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:
|
||||
|
__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 /EPor /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.
|
||||
|
_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:
|
||||
|
_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_EXTENSIONS |
This macro is defined when compiling with the /Ze compiler option (the default). Its value, when defined, is 1. |
||||
|
_MSC_VER |
Reports the major and minor versions of the compiler. For example, 1310 for Microsoft Visual C++ .NET 2003. 1310 represents version 13 and a 1.0 point release. The Visual C++ 2005 compiler version is 1400. Type cl /? at the command line to see the major and minor versions of your compiler along with the build number. |
||||
|
__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++.
|
||||
|
_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. |
||||
As shown in following table, the compiler generates a value for the preprocessor identifiers that reflect the processor option specified.
|
Option in Development Environment |
Command-Line Option |
Resulting Value |
|---|---|---|
|
Blend |
/GB |
_M_IX86 = 600 (Default. Future compilers will emit a different value to reflect the dominant processor.) |
|
Pentium |
/G5 |
_M_IX86 = 500 |
|
Pentium Pro, Pentium II, and Pentium III |
/G6 |
_M_IX86 = 600 |
|
80386 |
/G3 |
_M_IX86 = 300 |
|
80486 |
/G4 |
_M_IX86 = 400 |
__LINE__ __DATE__ __FILE__ __TIME__ 等宏定义解释的更多相关文章
- __FILE__,__LINE__,__DATE__,__TIME__,__FUNCTION__的使用
C/C++ 有5个常用的预定义宏,可以当作变量直接使用 __FILE__,__FUNCTION __,__LINE__,__DATE__,__TIME__. 注意是两个下划线. 其含义如下: __FI ...
- __FUNCTION__, __LINE__ 有助于debug的宏定义
__FUNCTION__, __LINE__ 今天无意之间看到一段代码,里面有这样一个片段: if (!interface) { err ("%s - error, can't find d ...
- VC中预处理指令与宏定义详解
刚接触到MFC编程的人往往会被MFC 向导生成的各种宏定义和预处理指令所吓倒,但是预处理和宏定义又是C语言的一个强大工具.使用它们可以进行简单的源代码控制,版本控制,预警或者完成一些特殊的功能. 一个 ...
- linux C宏定义 转
写好C语言,漂亮的宏定义很重要,使用宏定义可以防止出错,提高可移植性,可读性,方便性等等.下面列举一些成熟软件中常用得宏定义...... 1,防止一个头文件被重复包含 #ifndef COMDEF_H ...
- C中的预编译宏定义
可以用宏判断是否为ARC环境 #if _has_feature(objc_arc) #else //MRC #endif C中的预编译宏定义 -- 作者: infobillows 来源:网络 在将一 ...
- 20个C语言中常用宏定义总结
01: 防止一个头文件被重复包含 #ifndef COMDEF_H#define COMDEF_H//头文件内容#endif 02: 重新定义一些类型防止由于各种平台和编译器的不同,而产生的类型字节数 ...
- [转载]C宏定义的小结
FROM:http://blog.csdn.net/sunboy_2050/article/details/6103530 实现代码实例 程序代码: #include <stdio.h> ...
- C语言中的宏定义
目录(?)[-] 简单宏定义 带参数的宏 运算符 运算符 宏的通用属性 宏定义中圆括号 创建较长的宏 较长的宏中的逗号运算符 宏定义中的do-while循环do 空操作的定义 预定义宏 C语言中常用的 ...
- C 宏定义
C/C++中宏使用总结 .C/C++中宏总结C程序的源代码中可包括各种编译指令,这些指令称为预处理命令.虽然它们实际上不是C语言的一部分,但却扩展了C程序设计的环境.本节将介绍如何应用预处理程序和注释 ...
随机推荐
- 计算系数(noip2011)
[问题描述]给定一个多项式(ax + by)^k,请求出多项式展开后(x^n)*(y^m)项的系数.[输入]输入文件名为 factor.in.共一行,包含 5 个整数,分别为a,b,k,n,m,每两个 ...
- URAL 1671 Anansi's Cobweb (并查集)
题意:给一个无向图.每次查询破坏一条边,每次输出查询后连通图的个数. 思路:并查集.逆向思维,删边变成加边. #include<cstdio> #include<cstring> ...
- (转)Tomcat的目录结构
原文:http://hi.baidu.com/qinyougen/item/beeb506abb3e1d08a1cf0ffb Tomcat的目录结构 一.TOMCAT的目录结构 /bin:存放wind ...
- STL源码分析《4》----Traits技术
在 STL 源码中,到处可见 Traits 的身影,其实 Traits 不是一种语法,更确切地说是一种技术. STL库中,有一个函数叫做 advance, 用来将某个迭代器(具有指针行为的一种 cla ...
- apk在IIS中的MIME设置
支持下载的话: 扩展名中填写“.apk”, MIME类型中填写apk的MIME类型“ application/vnd.android.package-archive ”
- ERP联系人查询和修改(十六)
查看和修改是同一个界面: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="L ...
- IOS 作业项目 TableView两个section中cell置顶功能实现
点击cell会置顶,其他的下移
- 【转】IoC/DIP其实是一种管理思想
原文转自:http://blogread.cn/it/article/6487?f=wb 关于IoC的的概念提出来已经很多年了,其被用于一种面象对像的设计.我在这里再简单的回顾一下这个概念.我先谈技术 ...
- magento关于站点搬家,换空间
1,先把原来空间的文件全部压缩后(有些不要的就不要压缩)下载下来,然后传到新空间去,注意下载下来后核对一下是否大小一样,建议使用ftp工具下载, 2,同样把原来空间的数据库打包下来,再在新空间创建一个 ...
- buildroot ntp 网络时钟同步
/********************************************************************** * buildroot ntp 网络时钟同步 * 说明: ...