鱼C论坛

 找回密码
 立即注册
查看: 36457|回复: 98

[扩展阅读] 第000讲:为什么一定要先学习 Windows API?

[复制链接]
发表于 2014-5-2 16:18:03 | 显示全部楼层 |阅读模式

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

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

x
下边是《Windows程序设计(第5版)》相关内容节选:

节选一:

对于程序员来说,操作系统的功能完全由 API 来定义。API 涵盖了应用程序所能调用的全部操作系统函数,以及相关的数据类型和结构。

节选二:

一般来说,Windows API 自 Windows 1.0 起就一直保持着很好的一致性。要说 API 的演变其实也就是不断地扩充。从当初 Windows 1.0 只能支持不到 450 个函数,到今天的 Windows 支持数千个。

节选三:

使用 C 语言调用基本的 API 并不是编写 Windows 程序的唯一方式,但这一方式为开拓 Windows 功能提供了最佳的性能、最强的功能和最大的多样性。所产生的执行代码相对来说也很小,不需要外部程序库就可以运行(当然,Windows 自己的 DLL 除外)。更重要的是,无论将来你用什么编写 Windows 程序,搞熟这些 API 都能让你对 Windows 的内部有更深刻的理解。

节选四:

显而易见,究竟用哪种方式编写 Windows 应用程序最好,其实并无一定之规。应用程序本身的特性应该是决定采用何种编程工具的最主要因素。但是无论将来你采用什么编程工具,通过了解 Windows API 从而深入理解 Windows 的工作原理,这本身就具有很重要的意义。

节选五:

Windows 是一个非常复杂的系统,在 API 之上加一层编程语言并不能消除其复杂性,最多不过是把复杂性隐藏起来而已。说不定什么时候,Windows 复杂的那一面迟早会蹦出来拖你的后腿,懂得 API 能让你到时候更快地挣脱困境。

节选六:

在基本 Windows API 之上的任何软件层或多或少都会限制你使用 Windows 的全部功能。比如,你或许发现采用 Visual Basic 来编写你的应用程序非常理想,但是就有那么一两项非常基本的功能 Visual Basic 无法支持。往往这种时候,你就非得调用基本 API。作为 Windows 程序员,我们的活动空间完全由 API 来规范,再没有什么其他方式能比直接调用 API 更有效、更灵活多样了。

节选七:

MFC 的问题尤其严重。尽管它极大地简化了某些工作(如OLE),但我经常发现自己会在某些其他功能上摔跟斗(比如让文档/视图的体系结构按照我的设想来工作)。并非像很多人一厢情愿期望的那样,MFC 始终没有能成为 Windows 编程的万灵宝药,几乎也没人认为它是一种很好的面向对象的设计模型。MFC 程序员通常受益最多的是对他们用的类定义的理解,他们总是经常不断地在查询 MFC 的源代码。而了解 Windows API 的好处之一就是能帮助你读懂 MFC 源代码。

评分

参与人数 1荣誉 +5 收起 理由
Aymj + 5 感谢楼主无私奉献!

查看全部评分

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

使用道具 举报

发表于 2014-5-2 16:32:03 | 显示全部楼层
小甲鱼老师辛苦了{:1_1:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2014-5-2 16:34:56 | 显示全部楼层
已批阅   准奏
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2014-5-2 17:38:33 | 显示全部楼层

要么不学,要么学透,半截浪费资源
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 2 反对 0

使用道具 举报

头像被屏蔽
发表于 2014-5-2 20:29:46 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-5-2 22:29:06 | 显示全部楼层
{:1_1:}自己学了一段时间~感觉太难了学不下去!顶一个~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-5-2 22:30:24 | 显示全部楼层
恩恩 支持下 目前正在学习中,最好可以出一套视频教程:lol:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-5-2 23:56:32 | 显示全部楼层
顶一个先:shy::shy::shy::shy:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-5-3 08:03:08 | 显示全部楼层
去哪里才能找到windows api的完整资料呢?

点评

MSDN LIBRARY  详情 回复 发表于 2014-5-3 10:33
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-5-3 09:06:32 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-5-3 10:25:48 | 显示全部楼层
我是桃川人 发表于 2014-5-3 09:06
参数太多了,不容易记住!这是我的感觉。

说得有理!:lol:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-3 10:33:10 From FishC Mobile | 显示全部楼层
yj850624 发表于 2014-5-3 08:03
去哪里才能找到windows api的完整资料呢?

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

使用道具 举报

发表于 2014-5-3 11:04:35 | 显示全部楼层
我觉得API的确很重要,但是全记住是不可能的,找到MS的资料(就像上面甲鱼哥说的MS Library)宏观的看看知道一个框架后,编程时会去查就好了。这是我的愚见,请大家指正!{:1_1:}{:1_1:}{:1_1:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-5-3 11:05:37 | 显示全部楼层

我觉得API的确很重要,但是全记住是不可能的,找到MS的资料(就像上面甲鱼哥说的MS Library)宏观的看看知道一个框架后,编程时会去查就好了。这是我的愚见,请指正是否这样,还有其他的好方法来掌握API吗?谢谢!

点评

嗯,更重要的是要从这些 API 的学习上试图理解 Windows 的运行机制和原理。  详情 回复 发表于 2014-5-3 11:20
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-3 11:20:01 | 显示全部楼层
yj850624 发表于 2014-5-3 11:05
我觉得API的确很重要,但是全记住是不可能的,找到MS的资料(就像上面甲鱼哥说的MS Library)宏观的看看知 ...

嗯,更重要的是要从这些 API 的学习上试图理解 Windows 的运行机制和原理。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-5-3 14:48:43 | 显示全部楼层
跟着老师一步一步学
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-5-3 20:23:16 | 显示全部楼层
老师应该还会我们如何使用MSDN查字典
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-5-3 20:29:57 | 显示全部楼层
还好还好。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-5-3 20:46:51 | 显示全部楼层
小甲鱼 发表于 2014-5-3 11:20
嗯,更重要的是要从这些 API 的学习上试图理解 Windows 的运行机制和原理。

Mac OS是不是也有自己的一套API??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-5-4 10:43:30 | 显示全部楼层
已阅,可以评分用完了,+1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-21 23:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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