C基础(一)

来源:互联网 发布:做网络推广压力大吗 编辑:程序博客网 时间:2024/05/01 01:27

          

        我们使用文本编辑器编写C程序代码,保存到本地磁盘,这称为源文件。源文件必须转换为机器语言,这是编译器的工作。C语言的编译器实际上是两个分离的程序,预处理器和翻译器。

        预处理器读入源代码并为翻译器做好准备。在预处理源代码时,预处理器扫描那些被称为预处理器命令的特殊指令。这些指令包括指示预处理器去查找特殊的代码库,对代码进行代换,以及为将代码转换为机器语言所需要准备的其他处理等。预处理的结果称为翻译单元。

        在预处理器为编译准备好代码之后,翻译器执行将程序转换为机器语言的实际工作。翻译器读入翻译单元并将产生的目标模块写入一个文件,后者将和其他预先编译好的单元组合在一起形成最终的程序。目标模块是机器语言形成的代码。尽管编译器的输出是机器语言的代码,但它还是不能运行,因为它没有包含所需的C和其他函数。

        一个C程序一般由多个函数组成。我们编写了其中的一些,形成了源代码的一部分。然而,还有其他的函数,如输入/输出过程和数学库函数等,它们存在于其他地方,我们的程序必须和它们关联在一起。连接器的功能就是将所有这些函数,自己编写的和系统提供的,组合在一起以形成最终可以执行程序。

         一旦程序连接完毕就可执行。执行一个程序,可以使用一条操作系统命令,如run,将程序加载到内存并执行。将程序加载到内存的是一个称为加载器的操作系统程序。其定位可执行程序并读入内存。当所有的代码被载入,程序获得控制权并执行。在今天的集成开发环境下,这些步骤一般被组合为鼠标单次点击或下拉式窗口中的一条命令。

          在程序的一次典型执行之中,程序从用户或文件读取处理的数据。处理完数据,程序就可以输出结果。数据输出可以呈现在用户的显示器上或写入文件之中。程序完成工作之后,它会告诉操作系统,后者再次将程序从内存中移去。


0 0
原创粉丝点击