① C语言文件的编译与执行的四个阶段并分别描述
开发C程序有四个步骤:编辑、编译、连接和运行。
任何一个体系结构处理器上都可以使用C语言程序,只要该体系结构处理器有相应的C语言编译器和库,那么C源代码就可以编译并连接到目标二进制文件上运行。
1、预处理:导入源程序并保存(C文件)。
2、编译:将源程序转换为目标文件(Obj文件)。
3、链接:将目标文件生成为可执行文件(EXE文件)。
4、运行:执行,获取运行结果的EXE文件。
(1)c语言头文件的编译扩展阅读:
将C语言代码分为程序的几个阶段:
1、首先,源代码文件测试。以及相关的头文件,比如stdio。H、由预处理器CPP预处理为.I文件。预编译的。文件不包含任何宏定义,因为所有宏都已展开,并且包含的文件已插入。我归档。
2、编译过程是对预处理文件进行词法分析、语法分析、语义分析和优化,生成相应的汇编代码文件。这个过程往往是整个程序的核心部分,也是最复杂的部分之一。
3、汇编程序不直接输出可执行文件,而是输出目标文件。汇编程序可以调用LD来生成可以运行的可执行程序。也就是说,您需要链接大量的文件才能获得“a.out”,即最终的可执行文件。
4、在链接过程中,需要重新调整其他目标文件中定义的函数调用指令,而其他目标文件中定义的变量也存在同样的问题。
② c语言中如何编译头文件啊
你这是添加头文件,而不是编译头文件
TC2.0里面没有鼠标的使用
添加必须使用#include
命令
一般把你写的头文件或文件(注意,不光是头文件可以加入)放入你的项目或工程文件夹中
然后使用
#include
“文件名.扩展名"
添加文件(注意:使用的是
"
"
而不是<
>
包含
如果你所做要添加的文件是你们公司的一个文件库里的,建议你更改TC查询路径,这样就能省去要放到同一目录下的要求。
至于如何编译
你可以查查TC的运行方式
③ 为什么C语言头文件中要用条件编译
如果你说的是文件中避免重复包含的预处理指令,有两个原因
a)重复编译相同的内容,即使不会导致语法错误,对编译器也是极大的开销,在大工程中,绝对是不可容忍的,持续编译集成的代价是很高的,能省必须省
b) 有很多语法元素是不可重复编译的,例如类型定义。你仅仅考虑变量,是远远不够的。实际中,变量在头文件中的使用是非常少的,因为全局变量也是能避免就避免的