windows文件句柄和句柄

1、文件句柄:

在文件I/O中,要從一個文件讀取數(shù)據(jù),應(yīng)用程序首先要調(diào)用操作系統(tǒng)函數(shù)並傳送文件名,並選一個到該文件的路徑來打開文件。該函數(shù)取回一個順序號,即文件句柄(file handle),該文件句柄對於打開的文件是唯一的識別依據(jù)。
摘自:http://www.twword.com/wiki/%E6%96%87%E4%BB%B6%E5%8F%A5%E6%9F%84

2、句柄

所謂句柄實(shí)際上是一個數(shù)據(jù),是一個Long (整長型)的數(shù)據(jù)。
句柄是WINDOWS用來標(biāo)識被應(yīng)用程序所建立或使用的對象的唯一整數(shù),WINDOWS使用各種各樣的句柄標(biāo)識諸如應(yīng)用程序?qū)嵗?,窗口,控制,位圖,GDI對象等等。WINDOWS句柄有點(diǎn)象C語言中的文件句柄。

在操作系統(tǒng)層面上,文件操作也有類似于FILE的一個概念,在Linux里,這叫做文件描述符(File Descriptor),而在Windows里,叫做句柄(Handle)(以下在沒有歧義的時(shí)候統(tǒng)稱為句柄)。用戶通過某個函數(shù)打開文件以獲得句柄,此 后用戶操縱文件皆通過該句柄進(jìn)行。
設(shè)計(jì)這么一個句柄的原因在于句柄可以防止用戶隨意讀寫操作系統(tǒng)內(nèi)核的文件對象。無論是Linux還是Windows,文件句柄總是和內(nèi)核的文件對象相關(guān)聯(lián)的,但如何關(guān)聯(lián)細(xì)節(jié)用戶并不可見。內(nèi)核可以通過句柄來計(jì)算出內(nèi)核里文件對象的地址,但此能力并不對用戶開放。
在C語言里,操縱文件的渠道則是FILE結(jié)構(gòu),不難想象,C語言中的FILE結(jié)構(gòu)必定和fd有一對一的關(guān)系,每個FILE結(jié)構(gòu)都會記錄自己唯一對應(yīng)的FD。
摘自:http://www.cnblogs.com/meihao1989/p/3914608.html
http://blog.csdn.net/dlutbrucezhang/article/details/9319577

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 為何叫做 shell ? shell prompt(PS1) 與 Carriage Return(CR) 的關(guān)系?...
    Zero___閱讀 3,331評論 3 49
  • 第一章 概念和工具 本章將介紹Microsoft Windows操作系統(tǒng)的關(guān)鍵概念和術(shù)語,比如Windows AP...
    jdbeGa6ba閱讀 5,051評論 -2 15
  • epoll概述 epoll是linux中IO多路復(fù)用的一種機(jī)制,I/O多路復(fù)用就是通過一種機(jī)制,一個進(jìn)程可以監(jiān)視多...
    發(fā)仔很忙閱讀 11,099評論 4 35
  • 盡管javascript里有大量內(nèi)建引用對象,很可能你還說會頻繁創(chuàng)建自己的對象。當(dāng)你在這么做的時(shí)候,記得javas...
    WanLum閱讀 600評論 1 3
  • 一、溫故而知新 1. 內(nèi)存不夠怎么辦 內(nèi)存簡單分配策略的問題地址空間不隔離內(nèi)存使用效率低程序運(yùn)行的地址不確定 關(guān)于...
    SeanCST閱讀 8,136評論 0 27

友情鏈接更多精彩內(nèi)容