在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 的简写,即图形用户界面。
详细解决方案
API(9)——Windows API的概念
热度:105 发布时间:2023-10-01 14:41:06.0
相关解决方案
- my lovely windows , see you!该如何处理
- Windows Mobile开发中的有关问题
- Windows Moblie5上是否有完整兼容的J2SDK1.4或5.0版本的虚拟机?解决思路
- windows mobile中j2me的疑问,该怎么解决
- Socket通讯 windows mobile操作系统支持吗
- windows mobile 6.1下有支持蓝牙传输的java虚拟机吗?解决思路
- jdk-6u7-windows-i586-p.exe 后边的-p是什么意思
- Windows 8之父Steven Sinofsky将离开微软,微软官方已确认解决方法
- Windows 八之父Steven Sinofsky将离开微软,微软官方已确认
- Windows Form 中怎么将 treeview 的节点与页面内容关联
- InputMan for Windows Forms 5.0J 试用版的等待时间有关问题
- DevExpress的WinForm控件都沿袭自System.Windows.Forms.Contrl吗
- Free Windows Forms Controls——Krypton Toolkit解决思路
- ActiveX 安装出现 Windows Installer 有关问题
- vc写的 windows service 控制台程序有关问题
- c++/cli windows form有关问题
- Windows media player控件编程播放avi只有声音没图像啊解决方案
- 求VC++ 2008 >> CLR >> Windows 窗体应用程序实例,该如何处理
- windows 窗口进程lParam参数的,高低两个宏定义
- CLR Windows Forms Aoolication 程序怎么创建新的Dialog
- j# 里如何定义和 C#同样功能的 override void DefWndProc(ref System.Windows.Forms.Message m) 多谢,很
- dundas chart for windows 怎么调整柱状图的宽度,怎么设置柱状图的起止点
- windows service装配服务程序
- windows server 2008 + IIS 7.5 上 网站自定义权限过滤有关问题
- C# windows services 使用IDictionary 有关问题?
- CS0016: 未能写下输出文件“c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary
- windows 8 的搜索是不是有有关问题?是不是个新Bug
- windows azure 的一个非常初级的有关问题
- windows 服务没法启动
- windows 八批处理 显示时间