编译器 内置宏 并且 支持不同c++标准,__cplusplus不同
2016-07-13 23:00
489 查看
#include<iostream> using namespace std; int main() { #ifdef __LINE__ cout << "__LINE__:" << __LINE__ <<endl; #endif #ifdef __FILE__ cout << "__FILE__:" << __FILE__ <<endl; #endif #ifdef __DATE__ cout << "__DATE__:" << __DATE__ <<endl; #endif #ifdef __TIME__ cout << "__TIME__:" << __TIME__ <<endl; #endif #ifdef __STDC__ cout << "__STDC__:" << __STDC__ <<endl; #endif #ifdef __cplusplus cout << "__cplusplus:" << __cplusplus <<endl; #endif #ifdef __FUNCTION__ cout << "__FUNCTION__:" << __FUNCTION__ << endl; #endif #ifdef __func__ //unknown macro (truely unsoupport macro,it may be keywords) cout << "__func__:" << __func__ << endl; #endif cout << __func__ << endl; return 0; }
Administrator@xiuye-PC /cygdrive/d/programming/c++ $ g++ standardmacro.cpp Administrator@xiuye-PC /cygdrive/d/programming/c++ $ ./a __LINE__:7 __FILE__:standardmacro.cpp __DATE__:Jul 13 2016 __TIME__:22:59:39 __STDC__:1 __cplusplus:199711 main
$ g++ -std=c++11 standardmacro.cpp Administrator@xiuye-PC /cygdrive/d/programming/c++ $ ./a __LINE__:7 __FILE__:standardmacro.cpp __DATE__:Jul 13 2016 __TIME__:23:00:57 __STDC__:1 __cplusplus:201103 main Administrator@xiuye-PC /cygdrive/d/programming/c++ $ g++ -std=c++14 standardmacro.cpp Administrator@xiuye-PC /cygdrive/d/programming/c++ $ ./a __LINE__:7 __FILE__:standardmacro.cpp __DATE__:Jul 13 2016 __TIME__:23:01:18 __STDC__:1 __cplusplus:201402 main
相关文章推荐
- c++ static 变量的使用和用途
- 一起学习c++11——c++11中的新语法
- NwCreate之创建nwc文件
- keybd_event常量符号 含义
- 模拟键盘输入字符串的C++类
- 模拟键盘向当前光标处发送字符串
- 分割字符串
- 获取多个同名窗口的句柄
- 基于C语言sprintf函数的深入理解
- 提高项目31.4-读入一个C++程序,整理其格式,使其按规范排版
- 最小化所有窗口(模拟显示桌面)
- EnumWindows 传递自定义参数实例
- 生成rdp文件中的密码字串
- 获取Windows版本
- c语言字符串和c语言float的问题解答
- MFC简单线程_两个线程比较
- 正确读取REG_DWORD键值
- 修改注册表项的权限
- c语言中关于n个元素的栈和c1赋不上值的问题
- VC++ 高效、快速给REG_DWORD赋值