知识总结:
1.本地文件包含使用双引号,库文件使用尖括号
2.#undef可以消除宏定义
3.#可以在将双引号分开成俩个字符串链接
4.##链接位于它俩边的符号,用来合成一个新的符号
5.#define的定义相当于直接将代码中的符号替换
6.#define定义是我们默认将他的宏名全都大写
7.从.c文件到可执行文件.exe需要经历编译和链接俩个步骤
8.#define使用时最好不要加分号
9.定义宏的适合不要吝啬括号,注意有副作用的宏定义
10.熟悉函数与宏定义的区别
11.命名的约定,宏定义的宏名需要全部大写,函数名可以使用驼峰法
一、从.c文件到可执行文件.exe
1.程序的翻译环境和执行环境
翻译环境:将源代码转化为可执行程序的机器指令
执行环境:用于实际执行代码
2.翻译的过程
3.翻译分析
二、预定义
2.1预定义符号
__FILE__ //进行编译的源文件
__LINE__ //文件当前的行号
__DATE__ //文件被编译的日期
__TIME__ //文件被编译的时间
__STDC__ //如果编译器遵循ANSI C,其值为1,否则未定义
例:
2.2#define的使用
(1)定义标识符
(2)定义宏
2.3函数与宏定义的对比
区别:
三、头文件的包含
3.1包含方式的区别
第一种:
查找策略:查找俩次,一次先在源文件所在目录下查找,如果该头文件未找到,第二次,编译器就像查找库函数头文件一样在标准位置查找头文件。
第二种:
查找策略:一次查找头文件直接去标准路径下去查找,如果找不到就提示编译错误。