1.编译+链接
c语言的每生成可执行程序(后缀.exe的文件)时都要经过2个过程 :编译和链接
1.编译又分为3个阶段分别是:预处理 编译 汇编
预处理:1.头文件的包含 2.#define定义符号的替换 3.注释的删除
编译:把c语言代码转换成汇编代码,(语法分析,词法分析,符号汇总,语法分析)
汇编:把汇编代码转换成二进制指令,形成符号表(编译时的符号汇总)
2.链接
合成段表
符号表的合并和重定位
2.预处理详解
2.1预定义符号
__FILE__ //进行编译的源文件
__LINE__ //文件当前的行号
__DATE__ //文件被编译的日期
__TIME__ //文件被编译的时间
__STDC__ //如歌编译器遵循ANSI C,其值为1,否则为定义
这些预定义符号都是语言内置的。
int main()
{
printf("file:%s line:%d date:%s time:%s\n", __FILE__, __LINE__, __DATE__, __TIME__);
return 0;
}