考虑到大多数读者使用的都是Windows操作系统,这里我们就以 Windows 为例,来详细讲解操作系统的具体功能。Windows操作系统的主要特征如下所示。
(1)32位操作系统(也有64位版本)(2)通过API函数集来提供系统调用
(3)提供采用了图形用户界面的用户界面
(4)通过WYSIWYG实现打印输出(5)提供多任务功能
(6)提供网络功能及数据库功能
(7)通过即插即用实现设备驱动的自动设定
这里只列出了对程序员有意义的一些特征。接下来将依次对 Windows 操作系统的特征,以及其对编程的影响进行说明。
(1)32位操作系统
虽然现在的Windows也有64位版本,但一般广泛普及的还是32位版本。这里的32位表示的是处理效率最高的数据大小。Windows处理数据的基本单位是32位。习惯在以前的MS-DOS等16位操作系统下编程的程序员,可能不太愿意使用32位的数据类型。因为他们认为处理32位的数据,要比处理16位的数据更花时间。确实,在16位操作系统中处理32位的数据时,因为要处理两次16位的数据,所以会多花一些时间。而如果是32位操作系统的话,那么只需要1次就可以完成32位的数据的处理了。所以说,凡是在Windows上运行的应用,都可以毫无顾虑地尽可能地使用32位的数据。
例如,用C语言来处理整数数据时,有8位的char类型、16位的 short类型,以及32位的long类型(还有int类型)三个选项。使用位数大的 long类型的话,虽然内存及磁盘的开销较大,但应用的运行速度并不会下降。这在其他编程语言中也是同样的。
2)通过API函数集来提供系统调用
Windows是通过名为API的函数集来提供系统调用的。API是联系作成应用的程序员和操作系统之间的接口。所以称为API Application Programming Interface,应用程序接口)。
当前主流的32位版WindowsAPI也称为Win32API。之所以这样命名,是为了便于和以前的16位版的Win16API,以及更先进的64位版的Win64 API区分开来。Win32API中,各函数的参数及返回值的数据大小,基本上都是32位。
API通过多个DLL文件来提供。各API的实体都是用C语言编写的函数。因而,C语言程序的情况下,AIP的使用更加容易。截至到现在,本书示例程序中用到的API中都有MessageBox()。MessageBox()被保存在Windows提供的user32.dll这个DLL文件中。
3)提供采用了GUI的用户界面
GUI(Graphical User Interface,图形用户界面)指的是通过点击显示器中显示的窗口及图标等即可进行可视化操作的用户界面。对用户来说,GUI是图形、鼠标,但对程序员来说,GUI并不仅是这些。这是因为想要作成一个实现GUI的应用,并不是一件容易的事情。曾经有一首俳句是这样的:“GUI,用的时候是天堂,做的时候是地狱”,大家可以想象它的难度了吧。
之所以这样困难,是因为在GUI中用户按照怎样的顺序操作是无法确定的。例如,图9-8是Web浏览器(Internet Explorer7)的一个窗口。通过多个标签页的切换,就可以进行各种项目设定。从Web浏览器的用户角度来说,这样的窗口不仅使用方便,操作也简单,但对负责开发的程序员来说,却决不是简单的事情。