C语言虽然兼有高级语言和低级语言的特点,但是一般倾向认为C语言是一种高级语言,因此在通常情况下C语言编写的源程序是不能直接运行的,必须经过编译才能运行,如图1.10所示。
(1)编辑
目的为把一个编写好的C语言源程序输入到计算机中,源程序文件以文件形式存储在硬盘上,文件名需要带有后缀“.c”。
编辑结束后生成如“example.c文件”。
(2)编译
目的为把高级语言变成计算机可以识别的二进制语言。编译程序是把一个源程序翻译成目标程序,其工作过程分为五个阶段:①词法分析②语法分析③语义检查和中间代码生成④代码优化⑤目标代码生成。
系统在编译过程中发现源程序有语法错误时,会输出“出错信息”,在显示器上列出错误的位置和错误类别。用户可重新检查源程序,确认正确后再开始对源程序进行编译,直到通过为止。此时生成的目标程序作为目标文件(.obj)存储在文件系统中。
编译结束后生成如“example.obj文件”。
(3)连接
目的为把编译产生的“.obj”文件和其他相关的目标文件以及系统库文件等连接装配成一个可以执行的程序。(www.xing528.com)
这是因为在经过编译后目标程序是不能直接运行的,如果它还需要调用其他的目标文件和C语言函数库,则要将目标程序和其他目标文件以及C语言函数库的函数连接成一个可执行的目标代码模块。可执行的目标模块称为可执行程序,以“.exe”为后缀。
连接结束后生成如“example.exe”文件。
(4)运行
执行可执行程序文件“example.exe”。
在计算机内需要有对应的语言开发环境能对C语言编写的源程序进行编辑、编译、连接和执行,而该开发环境又依赖于操作系统和计算机硬件,它们共同构成了C语言的运行环境。
图1.10 C程序执行过程流程图
针对不同的平台设有相应的集成开发环境:Turbo C是在DOS和Windows系统平台上学习C语言的常用开发工具,现在依然有大量初学者在继续使用;Visual Studio中的Visual C++是以Windows为平台开发的一个主流的可视化C/C++语言开发环境,现在已经升级到.net版本;GCC是Unix平台上主要使用的C语言开发工具,嵌入式系统的开发常用GCC的交叉编译器来完成。本书以Visual C++2010(学习版)开发环境作为C语言开发工具。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。