头文件是以.h为扩展名的文件,里边包括了很多程序中要使用的信息。头文件必须被使用#include包含在源文件中才能发挥作用。如果头文件所在的位置与源文件无关通常使用<>把文件包括起来,如果头文件所在位置与源文件相关则通常用""把文件名括起来。
预处理指令#define用于定义宏,宏可以为常量起名字。宏在预处理阶段被替换。可以在gcc命令中使用-D选项定义宏,例如-DCHANG_DU=100
宏也可以有参数,定义宏的时候在名称后边家(),里面可以用逗号分开多个参数名称,参数没有数据类型
宏内部的计算过程不一定限执行,需要用小括号把宏包括起来才能保证这一点。
宏的参数也应该用小括号括起来,这样可以保证参数的数值先计算。
使用宏的时候, 不要把++或--计算的结果当成宏的阐述使用。
宏中可以使用两个运算符,#可以把宏的参数转换成字符串使用,##可以把一个标识符和另外内容合并形成一个新标识符。
某些预处理指令可以实现条件编译的效果,也就是选择当次编译过程中哪些代码应该编译哪些代码不要编译
头文件中应该使用条件编译指令处理,避免一个头文件被同一个源文件多次包含
Makefile用于记录程序的编译链接过程,make命令启动的时候回到当前目录中去找名字叫Makefile的文件并从中读取各种编译任务相关信息
在一个源文件中要使用另外一个源文件中定义的全局变量必须先声明,在声明的时候要在前边加上关键字extern
预处理指令#define用于定义宏,宏可以为常量起名字。宏在预处理阶段被替换。可以在gcc命令中使用-D选项定义宏,例如-DCHANG_DU=100
宏也可以有参数,定义宏的时候在名称后边家(),里面可以用逗号分开多个参数名称,参数没有数据类型
宏内部的计算过程不一定限执行,需要用小括号把宏包括起来才能保证这一点。
宏的参数也应该用小括号括起来,这样可以保证参数的数值先计算。
使用宏的时候, 不要把++或--计算的结果当成宏的阐述使用。
宏中可以使用两个运算符,#可以把宏的参数转换成字符串使用,##可以把一个标识符和另外内容合并形成一个新标识符。
某些预处理指令可以实现条件编译的效果,也就是选择当次编译过程中哪些代码应该编译哪些代码不要编译
头文件中应该使用条件编译指令处理,避免一个头文件被同一个源文件多次包含
Makefile用于记录程序的编译链接过程,make命令启动的时候回到当前目录中去找名字叫Makefile的文件并从中读取各种编译任务相关信息
在一个源文件中要使用另外一个源文件中定义的全局变量必须先声明,在声明的时候要在前边加上关键字extern