一、翻译环境和链接环境
在ANSI C的任何⼀种实现中,存在两个不同的环境。
•翻译环境
•执行环境
一、翻译环境
在这个环境中,源代码(即我们编写的C程序)被转换为可执行的机器指令。这个过程通常涉及到多个阶段,包括预处理、编译、汇编和链接
一个C语言的项目中可能有多个 .c 文件一起构建,那多个 .c文件件如何生成可执行程序呢?
• 多个.c文件单独经过编译器,编译处理生成对应的目标文件。
• 注:在Windows环境下的⽬标⽂件的后缀是 .obj ,Linux环境下目标文件的后缀是 .o
• 多个目标文件和链接库⼀起经过链接器处理⽣成最终的可执⾏程序。
• 链接库是指运行时库(它是支持程序运行的基本函数集合)或者第三方库。
如果再把编译器展开成3个过程,那就变成了下面的过程:
1.1预处理
在预处理阶段,源⽂件和头⽂件会被处理成为.i为后缀的文件。
执行环境