32-集成开发环境(Windows)
1.8.6 集成开发环境(Windows)
许多供应商(包括微软、Embarcadero、Digital Mars)都提供Windows下的集成开发环境,或称为IDE(目前,大多数IDE都是C和C++结合的编译器)。可以免费下载的IDE有Microsoft Visual Studio Express和Pelles C。利用集成开发环境可以快速开发C程序。关键是,这些IDE都内置了用于编写C程序的编辑器。这类集成开发环境都提供了各种菜单(如,命名、保存源代码文件、编译程序、运行程序等),用户不用离开IDE就能顺利编写、编译和运行程序。如果编译器发现错误,会返回编辑器中,标出有错误的行号,并简单描述情况。
初次接触Windows IDE可能会望而生畏,因为它提供了多种目标(target),即运行程序的多种环境。例如,IDE提供了32位Windows程序、64位Windows程序、动态链接库文件(DLL)等。许多目标都涉及Windows图形界面。要管理这些(及其他)选择,通常要先创建一个项目(project),以便稍后在其中添加待使用的源代码文件名。不同的产品具体步骤不同。一般而言,首先使用【文件】菜单或【项目】菜单创建一个项目。选择正确的项目形式非常重要。本书中的例子都是一般示例,针对在简单的命令行环境中运行而设计。Windows IDE提供多种选择以满足用户的不同需求。例如,Microsoft Visual Studio提供【Win32控制台应用程序】选项。对于其他系统,查找一个诸如【DOS EXE】、【Console】或【Character Mode】的可执行选项。选择这些模式后,将在一个类控制台窗口中运行可执行程序。选择好正确的项目类型后,使用IDE的菜单打开一个新的源代码文件。对于大多数产品而言,使用【文件】菜单就能完成。你可能需要其他步骤将源文件添加到项目中。
通常, Windows IDE 既可处理C也可处理C++,因此要指定待处理的程序是C还是C++。有些产品用项目类型来区分两者,有些产品(如, Microsoft Visual C++)用 .c 文件扩展名来指明使用C而不是C++。当然,大多数C程序也可以作为C++程序运行。欲了解 C 和C++的区别,请参阅参考资料 IX 。
你可能会遇到一个问题:在程序执行完毕后,执行程序的窗口立即消失。如果不希望出现这种情况,可以让程序暂停,直到按下Enter键,窗口才消失。要实现这种效果,可以在程序的最后( return 这行代码之前)添加下面一行代码:
getchar();
该行读取一次键的按下,所以程序在用户按下Enter键之前会暂停。有时根据程序的需要,可能还需要一个击键等待。这种情况下,必须用两次 getchar() :
getchar();
getchar();
例如,程序在最后提示用户输入体重。用户键入体重后,按下Enter键以输入数据。程序将读取体重,第 1 个 getchar() 读取Enter键,第 2 个 getchar() 会导致程序暂停,直至用户再次按下Enter键。如果你现在不知所云,没关系,在学完C输出后就会明白。到时,我们会提醒读者使用这种方法。
虽然许多IDE在使用上大体一致,但是细节上有所不同。就一个产品的系列而言,不同版本也是如此。要经过一段时间的实践,才会熟悉编译器的工作方式。必要时,还需阅读使用手册或网上教程。
Microsoft Visual Studio和C标准
在 Windows 软件开发中, Microsoft Visual Studio 及其免费版本 Microsoft Visual Studio Express 都久负盛名,它们与C标准的关系也很重要。然而,微软鼓励程序员从 C 转向 C++ 和 C# 。虽然 Visual Studio 支持 C89/90 ,但是到目前为止,它只选择性地支持那些在 C++ 新特性中能找到的C标准(如, long long 类型)。而且,自 2012 版本起, Visual Studio 不再把 C 作为项目类型的选项。尽管如此,本书中的绝大多数程序仍可用 Visual Studio 来编译。在新建项目时,选择 C++ 选项,然后选择【 Win32 控制台应用程序】,在应用设置中选择【空项目】。几乎所有的C程序都能与 C++ 程序兼容。所以,本书中的绝大多数C程序都可作为 C++ 程序运行。或者,在选择 C++ 选项后,将默认的源文件扩展名 .cpp 替换成 .c ,编译器便会使用 C 语言的规则代替 C++ 。