1、预定义符号 C语言设置了一些预定义符号,可以直接使用,预定义符号也是在预编译阶段处理的 __FILE__:正在编译的源文件的文件名 __LINE__:文件当前的行号 __DATE__:文件被编译的日期 __TIME__:文件被编译的时间 __STDC__:如果编译器遵循 ANSI C,其值为1,否则未定义 例如: 2、#define定义常量和标识符 ...
LINE代表出现了这个预定义符号的行号,比如这个预定义符号出现在第6行时,那么它就代表6,所以需要使用%d进行打印 DATE代表文件被编译时的日期,打印时需要使用占位符%s TIME代表文件被编译时的具体时间,具体到时分秒,打印时也是使用占位符%s STDC就与编译文件的编译器有关了,如果编译当前文件的编译器完全遵守了ANSI C标...
- 定义常量:例如 #define PI 3.14159 ,在编译预处理阶段,程序中所有出现 PI 的地方都会被替换成 3.14159 。- 定义带参数的宏:例如 #define SQUARE(x) ((x)*(x)) ,当在程序中使用 SQUARE(5) 时,会在预处理阶段被替换为 ((5)*(5)) 。需要注意括号的使用,以避免运算顺序错误。3. #if 、 ...
预编译指令基本分类如下 类别 指令 预定义符号__FILE__、__LINE__、__DATE__、__TIME__、__STDC__宏#define文件包含#include条件编译#if、#elif、#else、#ifdef、#ifndef、#endif 还有一些指令,名称和功能如下表:指令功能#空指令#undef移除一个空定义#error停止编译,并生成错误信息#line修改__LINE__和_...
(7)宏展开不占运行时间,只占编译时间,函数调用占运行时间(分配内存、保留现场、值传递、返回值。 文件包含 在C语言中文件包含是指一个源文件可以将另一个源文件的全部内容包含进来。 该命令的作用是在预编译时,将指定源文件的内容复制到当前文件中。
include预编译指令 include“xxx.h”指令在C语言中扮演着至关重要的角色,它主要用于引入头文件。通过这一指令,我们可以轻松地调用头文件中的各种枚举、结构体以及函数定义等。那么,一个C文件是如何通过 include“xxx.h”指令来成功编译并使用这些定义的呢?这背后的原理究竟是什么呢?简而言之,# include“xxx.h...
C语言编译过程就是将高级语言代码转换为计算机可以理解的机器代码。 注:图来自https://zhuanlan.zhihu.com/p/558783902 C 语言的编译过程包括四个步骤: (1)预处理:展开头文件/宏替换/去掉注释/条件编译(test.i main .i)。 (2)编译 :检查语法,生成汇编( test.s main .s)。
3. sizeof(int)在预编译阶段是不会被求值的。 只要知道“预编译阶段”在真正的“编译阶段”之前,就很容易理解了。预编译阶段只是对组成源代码中的字符进行作用,从某种意义上来说,它有时甚至不知道它的操作对象是什么,它只是按照既定的规则执行替换。 sizeof(int),无论是sizeof的解析,还是类型的解析,都是在“...
1.预处理/预编译 首先我们的代码是这样: 我们这里创建了一个test.c文件,然后在文件写入了如上的代码,然后我们这里要做的就是要运行这段代码,但是我们这里的运行就不是将他一下子全部运行结束,而是让他运行到我们这里的预处理阶段就停下来我们来观察一下中间的变化,那么为了达到这个功能的话我们这里在运行的时候就...