Windows API的概念
<上一节
下一节>
在C语言中,使用fopen()函数可以打开一个文件,感觉非常简单。文件保存在硬盘上,要经过复杂的处理才能显示,这些细节对我们来说是透明的,由操作系统完成。也就是说,我们调用fopen()函数来通知操作系统,让操作系统打开一个文件。
那么,我们如何告诉操作系统打开文件呢?
看似简单的操作到底层都非常复杂,打开文件首先要扫描硬盘,找到文件的位置,然后从文件中读取一部分数据,将数据放进I/O缓冲区,放进内存;这些数据都是0、1序列,还要对照ASCII表或Unicode表”翻译“成字符,再在显示器上显示出来。这个过程如果要让程序员来完成,那简直是噩梦!
怎么办呢?Windows想了一个很好的办法,它预先把这些复杂的操作写在一个函数里面,编译成动态链接库(DLL),随Windows一起发布,程序员只需要简单地调用这些函数就可以完成复杂的工作,让编程变得简单有趣。
这些封装好的函数,叫做 API(Application Programming Interface),即应用程序编程接口。
API 函数以C语言的形式向外暴露,可以通过C语言直接调用。
除了函数,Windows 还预先定义了很多数据类型(使用C语言的 typedef 关键字定义)。广义上来说,这些数据类型也是 API 的一部分。
API 屏蔽了很多细节,大大简化了程序员的工作,这就是操作系统的威力,不但让普通用户使用方便,也让程序员如释重负。
在Windows上运行的程序(包括MS-DOS程序),本质上都是通过调用Windows API来完成功能的,包括QQ、360、VC6.0等,别看这些团队牛,也不可能从底层做起,那简直不可想象。
C语言也一样,也是调用Windows API,fopen() 函数就是通过调用 CreateFile() 函数实现的。CreateFile() 是Windows API中的一个函数,可以用来打开或创建文件。
通常所说的 SDK 编程就是直接调用API 函数进行编程。SDK 是 Software Development Kit 的缩写,即软件开发工具包。
Windows API 函数成千上万,详细了解每一个函数的用法是不可能的,也是完全没有必要的。只需知道哪些功能由哪些API 函数提供就行了,等使用它们时再去查阅帮助文件。
带界面的程序的专业称呼是GUI程序。GUI 是 Graphical User Interface 的简写,即图形用户界面。本教程将教你使用 Windows API 来编写GUI程序,编程语言为C语言。
那么,我们如何告诉操作系统打开文件呢?
看似简单的操作到底层都非常复杂,打开文件首先要扫描硬盘,找到文件的位置,然后从文件中读取一部分数据,将数据放进I/O缓冲区,放进内存;这些数据都是0、1序列,还要对照ASCII表或Unicode表”翻译“成字符,再在显示器上显示出来。这个过程如果要让程序员来完成,那简直是噩梦!
怎么办呢?Windows想了一个很好的办法,它预先把这些复杂的操作写在一个函数里面,编译成动态链接库(DLL),随Windows一起发布,程序员只需要简单地调用这些函数就可以完成复杂的工作,让编程变得简单有趣。
这些封装好的函数,叫做 API(Application Programming Interface),即应用程序编程接口。
API 函数以C语言的形式向外暴露,可以通过C语言直接调用。
除了函数,Windows 还预先定义了很多数据类型(使用C语言的 typedef 关键字定义)。广义上来说,这些数据类型也是 API 的一部分。
API 屏蔽了很多细节,大大简化了程序员的工作,这就是操作系统的威力,不但让普通用户使用方便,也让程序员如释重负。
在Windows上运行的程序(包括MS-DOS程序),本质上都是通过调用Windows API来完成功能的,包括QQ、360、VC6.0等,别看这些团队牛,也不可能从底层做起,那简直不可想象。
C语言也一样,也是调用Windows API,fopen() 函数就是通过调用 CreateFile() 函数实现的。CreateFile() 是Windows API中的一个函数,可以用来打开或创建文件。
通常所说的 SDK 编程就是直接调用API 函数进行编程。SDK 是 Software Development Kit 的缩写,即软件开发工具包。
Windows API 函数成千上万,详细了解每一个函数的用法是不可能的,也是完全没有必要的。只需知道哪些功能由哪些API 函数提供就行了,等使用它们时再去查阅帮助文件。
带界面的程序的专业称呼是GUI程序。GUI 是 Graphical User Interface 的简写,即图形用户界面。本教程将教你使用 Windows API 来编写GUI程序,编程语言为C语言。
<上一节
下一节>