gcc内置宏
在看一些c语言代码时经常突然冒出一些宏,比如__FILE__
、__TIME__
等。前面也没有出现相关的定义,一直都没想着弄清楚是什么。这次又看到了这些宏,花了一点时间看了下是什么。
发现这些其实都是编译器内置的宏定义,所以代码中没有给出定义就能直接使用。这样的宏还不少,列出几个常见的,例如:
1 |
|
输出结果是:
1 | __FILE__ is D:\桌面\常用文件\学习文档\专业学习\C++项目\未命名1.cpp |
从上面的代码和输出结果可以看出
- __FILE__
指本语句所在源文件的名称(绝对路径)。 - __LINE__
指本语句所在的行号。 - __FUNCTION__
指本语句所在函数的函数名。 - __DATE__
指本语句所在源文件编译时的日期。 - __TIME__
指本语句所在源文件编译时的时间。 - __TIMESTAMP__
指本语句所在源文件创建时的日期和时间。