标准预处理器宏

__LINE__:当前源文件中的代码行号,十进制整数。

__FILE__:源文件的名称,字符串字面量。

__DATE__:源文件的处理日期,字符串字面量。其格式是 mmm dd yyyy(mmm是月份,如:Jan,Feb等);dd是日期,其格式为01到31的数字,一位数字的日期前面加上空格;yyyy是四位数的年份(如 1994)。

__TIME__:源文件的编译时间,字符串字面量。其格式为hh:mm:ss,这是一个字符串包含小时,分钟,秒数。他们用冒号隔开。

__STDC__:这取决于实现方式。如果编译器选项设置为编译标准的c代码,通常就定义它,否则就不定义它。

__cplusplus:在编译c++程序时,它就定义为值199711L;

时间: 2024-10-29 10:11:47

标准预处理器宏的相关文章

C标准预定义宏,调试时加打印很有用

#include<stdio.h> int main(int argc, char *argv[]) { printf("File:[%s]\r\n", __FILE__); printf("Function:[%s]\r\n", __FUNCTION__); printf("LineNum:[%d]\r\n", __LINE__); printf("Data:[%s]\r\n", __DATE__); print

C预处理器

C预处理器是一种简单的宏处理器. 预处理器是由特殊的预处理器命令行控制的,它们是以#符号开头的源文件行. 预处理器的一般操作:从源文件中删除所有的预处理器命令行,并在源文件中执行这些预处理器命令所指定的转换操作 预处理器代码行的语法与C语言其他部分的语法是完全独立的,但经过预处理所产生的源代码必须在上下文环境中合法 常见的预处理器命令: #define  定义一个预处理器宏   #undef     取消一个预处理器宏 #include   插入另一个源文件的文本 #if        测试一个

C语言预处理器的几个命令

C语言预处理器是个简单的的宏处理器,预处理器用特殊的命令行控制,这些命令行以#开头,不包含预处理器命令的行称为源程序文本行.预处理器通常从源文件中删除所有预处理器命令行,并按预处理器命令指示对源文件进行其它转换,然后,得到的经过预处理的源文本成为有效C语言程序. 下面是常见的预处理器命令: #define--定义预处理器宏,如果是函数式宏定义,左括号与宏名之间不能有空格,所有参数及整个宏替换最好分别放在圆括号里,参数可以是可变参数表,以...表示,用__VA_ARGS__替换,传人参数包含自赠自

[转] C++的预处理及预处理器

C++的预处理(Preprocess),是指在C++程序源代码被编译之前,由预处理器(Preprocessor)对C++程序源代码进行的处理.这个过程并不对程序的源代码进行解析,但它把源代分割或处理成为特定的符号用来支持宏调调用. 常用的C++预处理 1)常用的预处理: #include 包含头文件 #if 条件 #else 否则 #elif 否则如果 #endif 结束条件 #ifdef 或 #if defined 如果定义了一个符号, 就执行操作 #ifndef 或 #if !defined

笔记3:预处理器-(2)宏定义

#define指令称为宏定义指令,通常用#define指令来定义一个宏用来代表其他东西的一个名字(如常量表达式等).通常来说预处理器会通过将宏的名字和它的定义存储在一起来响应#define指令.当这个宏在后面的程序中使用到时,预处理器会"扩展"宏,将宏替换为其定义值. 简单的宏 简单的宏的定义格式: #define 标识符 替换列表 如: #define DTE_LEN 80 #define TRUE 1 #define FALSE 0 #define PI 3.1415926 #de

关于前端CSS预处理器Sass的小知识!

前面的话 ??"CSS预处理器"(css preprocessor)的基本思想是,用一种专门的编程语言,进行网页样式设计,然后再编译成正常的CSS文件.SASS是一种CSS的开发工具,提 供了许多便利的写法,大大节省了设计者的时间,使得CSS的开发,变得简单和可维护.本文将详细介绍sass的使用 定义 ??Sass是一门高于CSS的元语言,它能用来清晰地.结构化地描述文件样式,有着比普通CSS更加强大的功能.Sass能够提供更简洁.更优雅的语法,同时提供多种功能来创建可维护和管理的样式

【C/C++】C预处理器

C预处理器处理程序的源代码,在编译器之前运行,通常以"#"开头. C语言的预处理主要有三个言而的内容: 1) 宏定义和宏替换: 2) 文件包含: 3) 条件编译. 1. 宏定义和宏替换 "宏"是借用汇编语言中的概念,为的是在C语言程序中方便的作一些定义和扩展.这些语句以#define开头,分为两种:符号常量的宏定义和带参数的宏定义. 1) 符号常量的宏定义和宏替换 1 #define 标识符 字符串 其中标识符就称为宏名称,注意宏定义末尾不加分号. 由于预处理是在编

C中的预编译宏定义

文章来自 http://www.uml.org.cn/c++/200902104.asp 在将一个C源程序转换为可执行程序的过程中, 编译预处理是最初的步骤. 这一步骤是由预处理器(preprocessor)来完成的. 在源流程序被编译器处理之前, 预处理器首先对源程序中的"宏(macro)"进行处理. C初学者可能对预处理器没什么概念, 这是情有可原的: 一般的C编译器都将预处理, 汇编, 编译, 连接过程集成到一起了. 编译预处理往往在后台运行. 在有的C编译器中, 这些过程统统由

1.预处理器,编译器,汇编器和链接器

摘自http://www.cnblogs.com/maomaohhmm/archive/2012/10/28/2743903.html 1.预处理器,编译器,汇编器和链接器 (1).预处理(cpp):预处理器不止一种,而C/C++的预处理器就是其中最低端的一种——词法预处理器,主要是进行文本替换.宏展开.删除注释这类简单工作. gcc -E 选项可以得到预处理后的结果,扩展名为.i: C/C++预处理不做任何语法检查,不仅是因为它不具备语法检查功能,也因为预处理命令不属于C/C++语句(这也是定