鱼C论坛

 找回密码
 立即注册
查看: 48197|回复: 159

[扩展阅读] 第000讲:【扫盲】API、SDK 和 MFC

  [复制链接]
发表于 2014-4-30 12:59:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
【扫盲】为初学者普及计算机编程中涉及的一些专业词语。

API:Application Programming Interface -- 应用程序编程接口

SDK:Software Development Kit -- 软件开发工具包

MFC:Microsoft Foundations Classes -- 微软基础类


API:应用程序编程接口

应用程序接口为:“计算机操作系统(Operating system)或程序库提供给应用程序调用使用的代码”。其主要目的是让应用程序开发人员得以调用一组例程功能,而无须考虑其底层的源代码为何、或理解其内部工作机制的细节。API本身是抽象的,它仅定义了一个接口,而不涉入应用程序如何实现的细节。

举个例子:当我们使用 C 语言编程,调用 printf("Hello FishC\n") 这个 API 函数向显示器输出字符串"Hello FishC"的时候,我们并不需要关注显示器是如何绘制这个字符串的,我们只需要知道调用 C 语言提供的 printf() 这个 API 函数即可。

Windows 程序设计有两种方式: C语言方式(SDK)和 C++方式(对SDK函数进行包装,如VC中的MFC、BCB中的VCL)。


SDK:软件开发工具包

一般是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等创建应用软件的开发工具的集合。

Windows SDK 编程简单的说就是使用 C 语言调用 Windows 提供的 API 函数的编程。例如下边这个对话框就是简单的调用 MessageBox() 这个函数实现的:

1.png


MFC:微软基础类

MFC 是一个微软公司提供的类库(class libraries),以 C++ 类的形式封装了 Windows API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包含的类包含大量 Windows 句柄封装类和很多 Windows 的内建控件和组件的封装类。

简而言之,SDK 编程就是直接利用 Windows 提供的 API 函数进行编程,而 MFC 是利用类的概念对 API 函数进行封装,结合面向对象的继承、多态组成一个个类,共有一百多个类组成。


为什么不推荐初学者学习 MFC?

微软千辛万苦封装了个 MFC,但很多资深程序员反而警告初学者不要去学习 MFC,这是为什么呢?
对于程序员来说,操作系统的功能完全是由 API 来定义。也就是说,操作系统若能够完成的事情,都会提供相应的 API 供调用。因此,搞熟这些 API 对你理解 Windows 的运行机制非常有帮助。今后你无论使用什么来编写 Windows 程序,都是水到渠成。

API 函数本身就是进行了一层封装(例如上边我们提到的,我们根本不需要去理解如何在屏幕上显示字符串的原理),而 MFC 是再对 API 进行封装。因此初学者如果直接学习 MFC 编程,就很难理解 Windows 的运行原理,而不理解原理的学习就会显得亦步亦趋。

反过来,如果当你首先掌握了这些 API 函数以及 Windows 的运行机制,你再来学习 MFC,学习就会变得事半功倍了!


评分

参与人数 6荣誉 +19 鱼币 +20 贡献 +12 收起 理由
Aymj -1 鱼C有你更精彩^_^
NZND + 1 感谢楼主无私奉献!
自学小白菜 + 5 + 5 + 3 鱼C有你更精彩^_^
团子_大家族 + 5 + 5 + 3 感谢楼主无私奉献!
greenable + 4 + 5 + 3
2素儿 + 5 + 5 + 3

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-4-30 20:27:06 | 显示全部楼层
win32开发难道是用c或者c++?

点评

难道不行么??  详情 回复 发表于 2014-5-1 21:34
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 4 反对 1

使用道具 举报

发表于 2014-4-30 22:11:44 | 显示全部楼层
地板了,只有,楼上拿命来:huffy:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 2 反对 1

使用道具 举报

发表于 2014-4-30 22:41:40 | 显示全部楼层
哈哈,期待已久!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 2 反对 0

使用道具 举报

发表于 2014-4-30 23:10:43 | 显示全部楼层
只是为了前排露脸。。楼下看着哈。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 0 反对 1

使用道具 举报

发表于 2014-4-30 23:13:49 | 显示全部楼层
哈哈,期待已久!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2014-4-30 23:44:14 | 显示全部楼层
鱼哥,win32汇编若是决定放弃就干脆从鱼c博客上删了罢。。。

点评

Win32汇编会重录,如果是自学的朋友,已经推出的56讲其实适合入门知识普及啦^_^  详情 回复 发表于 2014-5-1 01:16
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-5-1 00:07:13 | 显示全部楼层
期待哦 windos要来了终于:shy::shy::shy::shy:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-5-1 00:54:25 | 显示全部楼层
赶来围观,终于出Windows程序设计了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-1 01:16:21 From FishC Mobile | 显示全部楼层
老宇不老 发表于 2014-4-30 23:44
鱼哥,win32汇编若是决定放弃就干脆从鱼c博客上删了罢。。。

Win32汇编会重录,如果是自学的朋友,已经推出的56讲其实适合入门知识普及啦^_^
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2014-5-1 10:36:14 | 显示全部楼层
期待已久......
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-5-1 17:22:23 | 显示全部楼层
看到新课程来了,火速赶来围观:lol:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-5-1 18:20:26 | 显示全部楼层

Win32汇编会重录??
我正准备学习这部教材呢!
要不要等你重录时跟着学习?

点评

已经推出了56讲,可以先看着。  详情 回复 发表于 2014-5-2 14:31
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-5-1 19:20:58 | 显示全部楼层
过来支持下{:1_1:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-5-1 20:48:36 | 显示全部楼层
小甲鱼,为什么不用屏幕录像专家录制视频呀!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-5-1 21:10:18 | 显示全部楼层
最好是明天 发表于 2014-4-30 20:27
win32开发难道是用c或者c++?

嗯,是的,听说都是用C和汇编
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-5-1 21:34:05 | 显示全部楼层
最好是明天 发表于 2014-4-30 20:27
win32开发难道是用c或者c++?

难道不行么??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-5-1 22:14:22 | 显示全部楼层
coffeemlx 发表于 2014-5-1 20:48
小甲鱼,为什么不用屏幕录像专家录制视频呀!

不喜欢看EXE格式的视频,没办法加速看!还是希望跟原来一样MP4格式!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-5-2 10:26:51 | 显示全部楼层
严重的支持下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-5-2 10:55:33 | 显示全部楼层
给鱼哥点个赞~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-17 21:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表