1.7 问与答
21天学通C语言(第6版•修订版)
问:如果要将自己编写的程序提供给别人,应提供哪些文件?
答:C语言的优点之一是,它是一种编译型语言。这意味着对源代码进行编译后,将得到一个可执行程序——一个独立的程序。将hello提供给所有有计算机的朋友是完全可能的,您只须将可执行程序hello.exe提供给他们即可。他们不需要源代码文件hello.c和目标文件hello.obj,也不需要C编译器。但获得可执行程序的人必须拥有和您同类型的机器,如PC、Macintosh、Linux机器等。
问:创建可执行文件后,还需要保留源代码文件(.c)和目标文件(.obj)吗?
答:如果删除源代码文件,则以后将无法修改程序,因此应该保留该文件。目标文件的情况则不同,保留目标文件是有原因的,但这超出了您现在应该考虑的范围。就现在而言,一旦删除可执行文件后,便可以将目标文件删除。如果需要目标文件,可以重新编译源代码文件。
大多数集成开发环境都会创建除源代码文件(.c)、目标文件(.obj或.o)和可执行文件之外的其他文件。只要保留了源代码文件(.c),便可以重新创建其他文件。
问:如果编译器自带了编辑器,必须使用该编辑器吗?
答:完全可以不用。您可以使用任何编辑器,只要它能够以文本格式保存源代码。如果编译器自带了编辑器,应尽可能使用它。如果您要使用其他的编辑器,当然,也可以。作者使用的是一个单独购买的编辑器,虽然所有的编译器都自带了编辑器。编译器自带的编辑器越来越好,其中的一些能够自动格式化C语言代码,其他的一些则使用不同的颜色来显示源代码文件的不同部分,使得查找错误更容易。
问:如果只有C++编译器,而没有C编译器,该如何办?
答:正如今天的课程中指出的,C++是C语言的超集。这意味着可以使用C++编译器来编译C程序。大多数人在Windows环境下使用Microsoft’s Visual C++编译其C程序,在Linux和UNIX环境下,则使用GNU的编译器。
问:可以忽略警告消息吗?
答:有些警告并不会影响程序的运行,但有些会。编译器显示警告消息表明有什么地方不正确。大多数编译器都允许用户设置警告等级。通过设置警告等级,可以只显示最严重的警告或显示所有的警告(包括最微不足道的)。有些编译器甚至提供了各种中间等级。应查看程序的每个警告,并对其做出判断。程序最好没有任何警告和错误(有错误时,编译器将不会创建可执行文件)。