stdafx.* 句柄 和 ID
来源:互联网 发布:方舟史上最强优化补丁 编辑:程序博客网 时间:2024/04/28 15:35
1.stdafx.*是干什么用的?怎么用?
Windows和MFC的include文件都非常大,即使有一个快速的处理程序,编译程序也要花费相当长的时间来完成工作。由于每个.CPP文件都包含相同的include文件,为每个.CPP文件都重复处理这些文件就显得很傻了。
为避免这种浪费,AppWizard和Visual C++编译程序一起进行工作,如下所示:
◎AppWizard建立了文件stdafx.h,该文件包含了所有当前工程文件需要的MFC include文件。且这一文件可以随被选择的选项而变化。
◎AppWizard然后就建立stdafx.cpp。这个文件通常都是一样的。
◎然后AppWizard就建立起工程文件,这样第一个被编译的文件就是stdafx.cpp。
◎当Visual C++编译stdafx.cpp文件时,它将结果保存在一个名为stdafx.pch的文件里。 (扩展名pch表示预编译头文件。)
◎当Visual C++编译随后的每个.cpp文件时,它阅读并使用它刚生成的.pch文件。 Visual C++不再分析Windows include文件,除非你又编缉了stdafx.cpp或stdafx.h。
2.句柄和ID有什么区别?
什么是“句柄”(handle),handle的本意是把柄,把手的意思。是你与操作系统打交道的东东。举个通俗的例子,比如你考上了大学,入学后,学校(操作系统)会给你一个学生证号。注意,这个号码是学校指定的,你无法自选。有了这个号码(学生证,假设一证多用)享受学校提供的服务:如你就可以去图书馆借书,去食堂吃饭,去教室上课等等。但你不能到食堂里买啤酒,因为学校不允许这种服务。而在计算机中系统提供的服务就是API调用,你有了HANDLE,就可以理直气壮地向系统提出调用API的服务。而指针的权力就大多了,有了指针你可以到处去喝酒,打架,学校(操作系统)管不着,所以句柄和指针的区别在于句柄指针调用系统提供的服务。而句柄虽然是一个能相互区别的号码,但与我们普通的ID号又有区别,普通的ID号是可以由程序员自己定义的,而句柄不行,它是对象生成是系统指定的,是为了区别系统中存在的各个对象,这个句柄不是由程序员符给的。
句柄
1。句柄,是整个windows编程的基础,一个句柄是指使用的一个唯一的整数值,是指一个四字节长的数值,用于标志应用程序中的不同对象和同类对象中的不同的实例,诸如,一个窗口,按钮,图标,滚动条,输出设备,控件或者文件等。应用程序能够通过句柄访问相应的对象的信息。
2。句柄不是一个指针,程序不能利用它句柄来直接阅读文件中的信息。如果句柄不用在I/O文件中,它是毫无用处的。
3。句柄是windows用来标志应用程序中建立的或是使用的唯一整数,windows使用了大量的句柄来来标志很多对象。
说明:实例——在windows环境下,不但可以运行多个应用程序,还可以运行多个应用程序的多份拷贝,每个拷贝叫做一个实例,并且有不同的实例句柄。一个实例句柄是windows可以单独运行的副本,是唯一可以标志此实例的整数。
- stdafx.* 句柄 和 ID
- 句柄和ID
- 句柄和ID
- 句柄、指针和ID之间的转换
- 获得当前进程ID和伪句柄
- 线程ID和句柄的区别
- 线程句柄和线程ID的区别
- VC++的窗口句柄和窗口ID
- Windows中句柄和ID的区别
- 枚举所有进程ID和线程ID,以及窗口句柄
- stdAfx.h和stdAfx.cpp
- 进程句柄和进程ID的区别和关系
- 进程和线程句柄和ID之间转换函数
- 句柄和ID有什么区别(百度面试题目)
- 根据process id和窗口名得到窗口句柄
- 获取当前进程/线程的ID、句柄和内核地址
- WIN32进程快照以及进程ID和句柄查找
- 【转】VC++的窗口句柄和窗口ID
- vs.net web项目使用visual source safe进行源代码管理
- Asp.net 中服务端控件事件是如何触发的
- 文件上传及下载
- 浅析中印软件业发展情况
- 智慧与理论的交锋
- stdafx.* 句柄 和 ID
- 使用resin中的心得
- Linux/Unix中的SUID和SGID文件权限和在CVS项目管理中的应用
- C++中的mutable和const
- 界面开发之 C# VS Java
- 定制一个BitmapButton类
- JavaBean操作Oracle数据库
- 实现控件的移动、改变大小(DELPHI实现)
- 从计算机图书说开去,向每一位为软件事业作出贡献的人叫好!向他们致敬!