您的位置:首页 > 编程语言 > C语言/C++

c语言学习-工具使用 (转)

2006-08-14 00:10 447 查看
c语言学习:使用开发工具
 

 

    这是俺们语言教程的第一课。这一课我将使用高科技,多媒体教学——图片示例。
   
    开发c语言程序,需要什么工具呢?最重要的工具是编译器,还有代码编写器,它会提供舒服的编写环境,不过现在还不需要。多说无益,我们看图片一步一步来。
 

    下载c语言编译器。c语言是个非常流行的语言,所以市场上有很多公司都开发出了自己的c语言开发工具,其中微软公司的vc++集成开发环境就支持c语言编译。但是它是非常昂贵,我们是学生,首先需要的不是很高级的编译器,而是要学习语言的语法。就类似我们没必要买一部宝马来练车,我们使用便宜的教练车就可以了。其中免费的lcc-win32就是一部出色的教练车。为何一个语言,会有那么多公司开发编译器,难道他编译出来的程序会有所不同?这是确定的,比如编译的速度,还有对代码的自动优化等,但是这些不同不会影响我们的学习的,因为不管宝马还是普通汽车,他的驾驶原理都是一样的。国内教科书很喜欢推荐tc这个工具,这个编译器已经跟不上现在的形势了,因为近年来c语言的语法有一些变更,最新的国际标准是99年制定的,称为c99,而tc是不支持新的标准的。我们知道标准的意义,市场上的所有编译器都会升级来支持的,我们没必要学习旧的语法。但是国内的教育很明显是比较封闭的,在我用win98的时候,老师还教我学dos呢。
 

    打开google.com,这个非常好用的搜索网站,输入“lcc-win32 下载”,结果如下:


图一
 

    但是这个是英文的,所以我们下载一个汉化软件."lcc-win32 汉化 下载“这样搜索就行了。结果下载下来如下,其中lccwin32_32文件是安装的,LCC-Win32 cn是汉化的,先安装,后汉化:


图二
 

我们安装到d:盘lcc目录吧:


图三
不要关了这个哦,这还在安装呢:


图3-2
 

安装后的情况:


图3-3
 

然后汉化,指定路径d:/lcc/bin  :


图四
 

好,一切ok,安装完毕。那么来学习怎么使用吧。
 

 

安装后的lcc-win32有很多目录和文件。但是我们说的编译器是bin目录下的lcc.exe

(图5),(备注:本来我将这个教程写得差不多了,结果wps出了个错误,晕死,又退回这里从新写过了。太生气了,立刻将wps删掉。换了word来写。看来国产软件还是不能保证质量阿)。除了编译器我们还要使用一个叫做链接器的软件。他在bin目录下面的lcclnk.exe

(图6).为何还需要链接器呢,这是c语言的特色,它先用编译器将源代码文件编译成目标文件。然后再用链接器将目标文件链接成可以执行的程序。源代码文件又是什么呢,他其实是文本文件,文本也就是文字。我们的源代码其实就是程序员通过自己掌握的语法知识,所编写出来的一段文字,将这些文字转换成可以运行的程序,就是通过编译器和链接器通力合作的结果。细心的读者发现,我还没有解释为何需要链接器,而不直接用编译器一次性将源代码转化成可以运行的程序。主要是我们一个程序需要很长的代码,如果我们将代码都放到一个文本文件里面,那么看起来是不是很不方便呢?同时开发程序是需要很多人力物力的,如果我们将整个程序所有的源代码都放在一个文件里面,试问我们如何进行分工合作呢?因此c语言支持一个程序由若干个源文件组成,而每个源文件可以编译成相对应的目标文件,编译过程中就能发现语法错误,因为开发过程有人慢有人快,有难有易,不可能要求大家都同时完成他们的工作,再一次性编译链接,最后将所有的目标文件链接起来便成了一个可以运行的程序了。不过要注意的是,大部分语法,用一个文件就足够说明问题了,这样也方便我讲解,但是有些语法知识,恰恰就是要多个文件才能说明的,那时候还请多多注意。
 

我们总结一下程序开发各个组件之间的关系吧。
 


(图a1)
 

他们的扩展名一般是:源文件为.c 目标文件.obj 程序为.exe。
 

接下来我们就用图片来示范如何建立我们第一个程序吧。应该注意的是,编译器和链接器都是没有窗口的,因此我们需要在命令行里面执行它,并给他传递参数。如何做呢,windows系统里面有一个叫做“命令提示符”的程序,
 


(图6-1)
 

他的操作方式就类似dos操作系统那样,输入命令,按回车键执行。后面我们在来详细说明,现在我们开始进行第一步,那就是建立源文件。上面说了,源文件实际就是文本文件,我们不妨将源文件和文本文件看作类型和用途的关系,同样是文本类型的文件,源文件不过是用来编写源代码而已。而同样是文字,源代码不过是符合c语言语法的文字而已。通常的文本文件的扩展名是.txt。但习惯上,我们将源文件的结尾设置为.c。不过不用担心,我们用windows自带的记事本就可以建立文本文件,并且保存的时候还能更改扩展名为.c结尾。现在打开记事本:
 

 


(图7)
 

然后输入源代码。说完如何建立程序后,主要就是学习源代码是怎样编写了,也就是学习语法。但现在大家还不需要了解我输入的源代码是什么意思。


(图8)
 

为了方便大家拷贝,我用文字重复一下源代码:
 

#include <stdio.h>
 

int main()
{
 

printf("你好!这是我第一个c语言程序哦~");
return 0;
 

}
 

ok了,保存文本文件。这一步要留意了,我们只要将保存文件对话框设置为以下情况,便可以保存为c源文件的标准形式了。


 

(图9)
 

我将1.c源文件保存在d:/lcc目录下,好方便我们以后的讲解。


(图10)
 

在windows中,图标的样子会随着关联的程序而改变,只有程序文件,才有自己内置的图标。以上这个图标表示没有任何程序关联源文件,也就是双击的时候,没有程序来打开此文件。我们装了lcc-win32,但是它并没有将编译器和源文件关联起来,不像你想得那样双击他就调用编译器来编译。这真不方便,不过我们还是有办法解决的,我们可以通过“命令提示符”来运行我们的编译器进行编译工作。


(图11)
首先我们应该了解一下如何看这个东西。这里面c:/Documents and Settings/ZYS>后面有一个不断闪烁的光标,图片虽然没有显示出来。我们每输入一个字符,它就显示在光标的位置上,然后光标向右移动一个字符的位置。这就是我们输入命令的地方。我们注意到,“>”前面是一个路径。他就是当前路径,默认打开的是我自己的用户目录。就好像我们通过窗口模式打开一个文件夹那样,这打开的目录就是当前路径。首先我们想去到刚才我们刚才保存源文件的目录下面。使用命令:
 

Cd d:/lcc
D:
 

说明一下,cd d:/lcc将当前目录改变为d:/lcc,回车后运行,并没有改变“>”前面的路径文字。这是因为这条命令不能够改变盘符,我们现在在c盘,需要使用d:命令转移到d盘。现在“>”后面的目录改为d:/lcc了。接下来我们需要运行编译器来编译我们的源文件了。输入:
Bin/lcc 1.c
说明一下,bin/lcc是个相对路径,它相对当前目录而言,bin/lcc在当前目录d:/lcc下就相当于d:/lcc/bin/lcc。相对路径能够减少键入,非常方便。细心的读者会发现,我们并没有输入扩展名.exe。 因为“命令指示符”窗口懂得补充这个,需要运行的文件一般都是.exe结尾的。当然我们也可以自己写完整它。在bin/lcc后面空一个格,输入1.c,这也是一个相对路径,它的绝对路径就是d:/lcc/1.c,这是我们刚才保存的源代码文件的路径。这里是作为一个参数传递到编译器,然后编译器便知道要编译哪个源文件了。我们总结一下,基本上命令的格式都是 “命令 参数”,其中命令可以是内置的,如cd命令,d:命令,也可以是某个可执行文件的路径,如bin/lcc。参数就是传递给该命令的消息,两个结合起来,才能执行确定的如何操作。参数还可以有多个,每一个参数相隔一个空格,但这里不详细说明了,因为这几个命令足够我们编译我们的第一个c语言程序了。如果需要了解更多的命令资料,不妨输入help命令,它会列出一些常用命令的说明。而每一个命令的具体参数格式,都可以通过
“命令 /?”来获知。
 

  Bin/lcc 1.c将源文件编译,在当前目录输出目标文件1.obj

(图12)。我们双击他出现这样的对话框:


 

(图13)
   说明这不是个可执行文件。我们需要进一步用链接器将目标文件连接为程序。连接程序同样也在bin目录下,他是lcclnk.exe:
Bin/lcclnk 1.obj
  这链接了目标文件1.obj,输出最终程序1.exe

。这真令人高兴,终于创造了一个程序。我们双击运行,发现窗口一闪而过,根本没能看清她是什么样子的。我们创建的这个程序,其实是和编译器,链接器是同种类型的,也就是没有窗口界面的,它的输出和输入,需要我们通过伟大的“命令指示符”窗口进行确认:
 

1
 

程序输出:“你好!这是我第一个c语言程序哦~”。整体是这样的:
 

D:/lcc>1
你好!这是我第一个c语言程序哦~
D:/lcc>
 

  还不错吧。也许作为第一个程序,你觉得还是让人兴奋的,但是要你学习c语言的过程中都是制作此类没有窗口的程序,可能你就不愿意了。漂亮的窗口,确实让人着迷,但是这对学习语法没有任何帮助。屈原说过“五色使人眼盲,五音使人耳聋”,世间上的万物,有着美丽的外表,反而更会让人看不到内在本质。鉴于此,我们是不是应该以学习为重,以向门外汉炫耀自己的成果为耻呢?要知道,和程序员最接近的一个程序,是世界上最复杂最伟大的存在,它也是没有华丽的外表的哦。
 

  对工具的使用就告一段落了,下一节开始讲解语法。程序语言的学习贵于思考,而思考需要在实践中检验和巩固,因此不可避免要大家主动编写许许多多类似的小程序,如果每一次都要经过这么多步骤来生成,似乎真的让人不胜其烦。因此我教大家制作.bat文件。他也是个文本文件,但是以.bat结尾的。在里面写命令,一行一条,只要你双击他,他便会打开“命令提示符”窗口,将里面的内容依次执行一遍。这个文件的好处是你可以将许多命令一次性写好,不再需要每次都一步一步重复书写命令,是不是很有用呢:)。Bat文件运行的时候,“命令提示符”窗口的当前目录就是bat所在目录,所以我们可以编写如下的内容在bat里面:
 

Bin/lcc 1.c
Bin/lcclnk 1.obj
1
Pause
 

  Pause命令是暂停的意思。一般运行后会关闭窗口的,pause命令等待你输入任意一个键才继续程序,以便你查看输出的内容。将bat文件保存在源文件的目录下面,叫Run.bat吧,然后每次,你只需要修改1.c源文件(用记事本打开),保存后双击Run.bat,便可以进行编译。不过,当你输入的源代码是错误的,编译器便会出错,不能输出文件了,它会提示错误的原因,不过是英文的。总的来说,你要重新修改,直到编译通过为止。
 

 

 

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息