发信人: riffle()
整理人: jchao(2000-01-13 12:42:18), 站内信件
|
【 在 xkbear () 的大作中提到: 】
举个例子:
我定义了这样一个结构
struct FILESTR
{
char sFilePath[ 100 ]; //文件路径
unsigned long ulFileSize; // 文件长度
unsigned long ulFilePos; // 文件当前读写位置
unsigned char ucFileBuffSectorNumber; // 文件扇区缓冲号
.
.
.
};
然后我还定义了一个数组:
struct FILESTR tsFileStr[ 50 ];
假设我的结构是用在操作系统软件中的。用于对应打开的文件。
应用程序关心的是文件的读写,打开等操作。它不需要每次读
或写该文件时都要给出该文件的路径吧,那未免太罗嗦了。于是我
的操作系统可以这样做:提供一个打开文件的动作,应用程序先给
定路径,打开指定的文件。操作系统根据自己tsFileStr的使用情况,
占用一个新的FILESTR,例如,假设0~9都被用掉了,那么现在应该
用10号,于是操作系统返回一个句柄10。以后对该文件的读、写、关
闭等操作都针对10号句柄就行了。
总的说来,我觉得句柄是一个抽象的概念。我一般是这样理解的:
它是对应某个事物的操作对象,例如窗口句柄,文件句柄;通过句柄
我们可以很方便地操作该事物。
-- ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.96.185.52]
|
|