__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程序设计的环境.本节将介绍如何应用预处理程序和注释 ...
随机推荐
- JS 代理模式
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- (转)js的左右滑动触屏事件
原文:http://blog.sina.com.cn/s/blog_6a0a183f0100zsfk.html (2012-01-20 08:55:53) 转载▼ 标签: 移动设备 触屏事件 杂谈 分 ...
- hdu 2057
PS:一开始我画蛇添足的用字符串来做....超麻烦...贴个我做的.. 代码: #include "stdio.h" #include "string.h" ...
- 极客DIY:开源WiFi智能手表制作
如果你喜欢拥有一款属于自己的无线手表,那么请不要错过,相信阅读完这篇文章对你会很有帮助. 硬件规格 ESP8266(32Mbit闪存) MPU-9250(陀螺仪传感器)以及 AK8963(内置磁力计) ...
- ES6:模块简单解释
modules是ES6引入的最重要的一个特性. 以后写模块的时候就直接按照ES6的modules语法来写 ,然后用babel+browserify 来打包就行了. modules规范分两部分,一部分是 ...
- sphinx 全配置
## 数据源src1 source src1 { ## 说明数据源的类型.数据源的类型可以是:mysql,pgsql,mssql,xmlpipe,odbc,python ## 有人会奇怪,python ...
- Objective-C determine data network type of the iOS device
Im on an application that receive data from server, the problem is when user connect to cellular dat ...
- 破解 crackme(“不可逆“函数)
系统 : Windows xp 程序 : crackme 程序下载地址 :http://pan.baidu.com/s/1i41oh9r 要求 : 注册机编写 使用工具 : IDA Pro & ...
- Could not launch "app_name"
真机测试 不报错 编译通过后 Xcode总出这个错 process launch faild:NotFound-------解决办法 :重启设备
- PHP 防范CC攻击
CC攻击就是对方利用程序或一些代理对您的网站进行不间断的访问,造成您的网站处理不了而处于当机状态,下面是PHP方法:将以下代码另存为php文件,然后首行include入你的common.php文件中. ...