关于WIN32/API/SDK/MFC四者之间的联系和区别

IWANTAPPA 2009-09-06 08:18:30
看到一位仁兄的帖子中说
“win32是windows下的最基本的编程方式,使用它得到的代码最干净最有效率,也是最底层,它是其它所有方式实现的基础。一般指只使用API和SDK。 MFC是对win32的封装,使用win32编程方法,写了一个又一个类,让我们不用再重复大量劳动。”

我还没开始学VC,但我想加入到VC行列,所以我想问一下:

1、WIN32是不是就是指API?如果不是的话,WIN32具体是什么东西。
2、SDK和API的关系是什么?
3、SDK和MFC的区别是什么?

谢谢大家。
...全文
984 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
wang73ying 2011-12-10
  • 打赏
  • 举报
回复
学习了,希望尽快也到达这样的知识水平
oldmtn 2011-11-09
  • 打赏
  • 举报
回复
又温习一遍了。。。。。。。。。。。。。。

xsycheck6 2011-11-09
  • 打赏
  • 举报
回复
呵呵,很好很强大,小弟受益匪浅
九度空间 2011-11-05
  • 打赏
  • 举报
回复
win32:windows32位系统
sdk:软件开发包
api:windows系统函数
mfc:微软封装的类库
windows_oracle 2011-11-05
  • 打赏
  • 举报
回复
强大
呵呵
学习了
Eleven 2011-11-04
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 visualeleven 的回复:]

引用 20 楼 hai296 的回复:

理解了MFC和SDK,至于什么小系统没很大的概念。

你说的子系统吧
[/Quote]
主要是为了对移植性
Eleven 2011-11-04
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 hai296 的回复:]

理解了MFC和SDK,至于什么小系统没很大的概念。
[/Quote]
你说的子系统吧
xhb296 2011-11-04
  • 打赏
  • 举报
回复
理解了MFC和SDK,至于什么小系统没很大的概念。
cridia 2011-11-04
  • 打赏
  • 举报
回复
好像搞明白了
hping1016 2011-11-04
  • 打赏
  • 举报
回复
还没结帖?好贴留名
mltong 2010-10-11
  • 打赏
  • 举报
回复
正找这个呢。看了以后,似懂非懂啊。难道是SDK封装了API,MFC又封装了SDK?
Sou2012 2010-10-11
  • 打赏
  • 举报
回复
讲解的很详细了。
wanjingwei 2009-09-07
  • 打赏
  • 举报
回复
学习了,这些东西是挺晕
zngsai 2009-09-07
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 tr0j4n 的回复:]
1、WIN32是不是就是指API?如果不是的话,WIN32具体是什么东西。
====================
不是,API你可以理解成系统函数(应用程序接口),Win32是一个子系统。楼上的很厉害,对内核研究得很透,POSIX都说出来了....

2、SDK和API的关系是什么?
=================
可以说SDK靠千万的API进行支撑。打个比方,他的窗体的创建都是靠一系列的API实现的。
MFC当然也可以调用API,SDK也行。

3、SDK和MFC的区别是什么?
====================
MFC是对SDK的封装,通过MFC的一些方法实现,实质上还是调用了API进行实现。这就是封装的好处,加快了开发的速度,减低了开发的难度
[/Quote]


这个是对滴!
geniusflly 2009-09-07
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 jingzhongrong 的回复:]
Win32是Windows的一个子系统,还有另外的子系统如OS/2、POSIX、WOW等。
不同的子系统系统提供了不同的编程接口,即API,一般说的API指的就是Win32 API。
[/Quote]

WOW...莫非 魔兽世界?
  • 打赏
  • 举报
回复
大家都回答的很清楚了。
x22ray 2009-09-06
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 tr0j4n 的回复:]


3、SDK和MFC的区别是什么?
====================
MFC是对SDK的封装,通过MFC的一些方法实现,实质上还是调用了API进行实现。这就是封装的好处,加快了开发的速度,减低了开发的难度
[/Quote]
mfc是对api的封装
IWANTAPPA 2009-09-06
  • 打赏
  • 举报
回复
谢谢,谢谢,非常感谢。
wltg2001 2009-09-06
  • 打赏
  • 举报
回复
上面大家都说Win32是一个子系统,这个当然是对的,不过我们有时候我们所说Win32通俗的就是指32位的Windows系统,从windows95/98到NT/2000/XP都是32位Windows。子系统却是仅对NT架构的系统而言的。我想楼主所问的Win32并不是子系统。
API就是应用程序接口,是由系统提供的一些函数,比如你想创建一个文件,就要调用CreateFile,这个CreateFile就是一个API。任何一个操作系统都会提供API的,比如DOS也提供API,不过它是通过Int 21h中断提供的就是了。
SDK是指一些公司针对某一项技术为软件开发人员制作的一套辅助开发或者减少开发周期的工具。一般专指Windows系统提供的相关的头文件和LIB文件。
有时候很多人将不用MFC等相关类库,而只用API进行开发的方式也叫做SDK开发,从这一点来说,API和SDK似乎是通用的。
MFC是MS对API的一个封装,也就是一个C++类库,当然MFC比一般类库庞大,所以有人称之为应用程序框架。但其本质还是一个类库
百事烟 2009-09-06
  • 打赏
  • 举报
回复
MFC是一个封装了绝大部分32位Windows操作系统SDK的API的类的合集
加载更多回复(7)

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧