荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: Deny (孤苦伶仃一个人,哈哈), 信区: Program
标  题: 『VC++技术内幕』学习笔记(1)
发信站: 荔园晨风BBS站 (Tue Dec 25 19:55:42 2001), 转信

『VC++技术内幕』学习笔记

雷神

写在前面:
     我看的『VC++技术内幕』版本为--潘爱民和王国印译清华大学出版的第四版
,因从网上看到此版译的最好。
     这篇学习笔记是后补的,因为这本书我已经看到了第三十二章,之前并没有
做笔记,只是随意的在书上画了画重点,可是越向后学越觉得前面的知识并没有掌
握,所以决定重新来过并补上笔记。我认为只有踏踏实实的记录下每天的学习心得
才能真正的有所收获。我个人认为学习这本经典之前最好先看看WINDOWS 32位编程
的书,至少能用纯SDK写出一些小程序。

第一天:
WINDOWS应用程序一定要有WinMain函数,该函数用来完成一些特殊的任务,象创建
程序的主窗口,主窗口用来处理消息的代码。MFC将WinMain隐藏在框架中,不象写
SDK程序时可以很容易的找到它。
WINDOWS采用的消息处理机制也交给了程序框架,我们不必担心如何使这些消息和
代码联系起来。并且WINDOWS定义好了一些消息,当窗口被创建时系统就会发送
WM_CREATE消息,当点击鼠标左键时便系统会发送WM_LBUTTONDOWN消息,当用户按
下键盘时系统会发送WM_CHAR消息,当用户关闭窗口时系统会发送WM_CLOSE消息,
当用户进行菜单项选择或单击按钮时系统回发送WM_COMMAND消息,什么都不做系统
还会发送WM_TIMER消息。先不说别的,先搞清出这几个消息再说。从MSDN中可以很
方便的找到关于这几个消息的帮助文档。
WINDOWS提供通用的图形设备接口(GUI),我们通过调用(GDI)函数和硬件打交
道,不必理会设备环境,WINDOWS会自动将设备环境结构映射到相应的物理设备,
这应该就是设备无关性吧。
动态连接库(DLL)应该是代码重用的典型例子(不知道可不可这样说),把一些
模块、自己新编的类单独调试并编译成DLL,及增加代码的可读性也提高了程序模
块的灵活性。
用Developer Studio建立项目Developer Studio会创建很多中间文件,这些文件还
是有必要说一下的。
APS     //支持ResourceView
BSC    //浏览器信息文件
CLW    //支持ClassWizard
DSP    //项目文件,不能删除和用文本编辑器编辑
DSW    //工作空间文件,不能删除和用文本编辑器编辑
MAK    //外部的创建文件
NCB    //支持ClassView
OPT    //保存工作空间的配置
PLG    //建立日志文件
这些文件都有一定的作用,拿CLW来说,如果你有一个新类,需要加到
ClassWizard中,除了将相应的.h 和.cpp加到DSP中还需要重新编译CLW。PLG文件
记录着你的项目配置信息。
VC++的源程序浏览器能够使我们从类或函数的角度来了解或编辑程序,而不是直接
从文件入手。在看别人的源代码时如果能熟练的使用源代码浏览器将会事倍功半。
源程序浏览器主要的查看状态有以下几种:
Definitions and References——选择任何函数、变量、类型、宏定义可以看到它
在项目中的定义,并且在何处和什么地方用到它。
Call Graph/Caller Graph——对于所选择的函数,给出它的调用与被调用函数的
图示。
Derived Class Graph/Base Class Graph——给出类层次关系的图形表示,可以看
到所选择的类的派生类和基类以及成员。
File Outline——对于所选的文件,列出文件中的类、函数和数据成员,同时还显
示它们定义的位置和使用位置。
可见Source Brower比起Class View来功能多了很多也更加好用,以前我就不知道
,因为一般的VC++书没有讲或根本没有注意这块,看到讲菜单、操作界面、编辑器
时总是跳过,心想“没吃过猪肉还没见过猪跑?这种东西不用学就会”。可实际上
还是应该仔细的看看的。
对于本章学习雷神建议大家在VC++6中用AppWizard生成一个空的程序,然后试着看
看都有那些文件,和他们的类层次、函数、宏、结构的定义,我就是这样干的,学
编程不动手是不行的。

(未完待续)
下一篇:Microsoft基本类库应用程序框架
正文完

--
我是$userid         ,我怕谁!^_^编程资料:1.201/study/my document/,也许有你要?
 │ 你问我这世界最远的地方在哪里              你问我这世界最后的真爱在哪里   │
 │ 我将答案抛向蓝天之外落在你心底            我把线索指向大海之外直达我怀里 │
 │ 如果你的爱总是逆向行驶                    如果你的心总是闭上耳朵         │
 │ 你说你爱我  我怎么能跟得上你              我说我爱你  你怎么能听得下去   │
 └─────────────────────────────────────┘

※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.1.201]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店