使用新的旗標來加速 C 執行階段的低階 I/O 功能

文章翻譯 文章翻譯
文章編號: 131324 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

結論

低階檔案開啟函式 C 執行階段程式庫 32 位元版的 Visual C++ 中接受一些額外的旗標來允許您利用 Win32 特定檔案系統功能。這些旗標 16 位元版本的 Visual C++ 中沒有。

低階檔案開啟函式是: _open,_wopen,_sopen,和 _wsopen。 新的旗標 (與其他人) 可以一起與位元的 OR 運算子結合和做 'oflag' 引數傳遞給檔案的開啟函式。

檔案開啟函式呼叫 Win32 函式 'CreateFile' 實際使用指定選項開啟的檔案。下表會傳遞至 CreateFile 相等的旗標與這些新的 C 執行階段旗標。
C Run-time Flag     CreateFile Flag
_O_SHORT_LIVED      FILE_ATTRIBUTE_TEMPORARY
_O_TEMPORARY        FILE_FLAG_DELETE_ON_CLOSE
_O_RANDOM           FILE_FLAG_RANDOM_ACCESS
_O_SEQUENTIAL       FILE_FLAG_SEQUENTIAL_SCAN
				

其他相關資訊

若要改善檔案 I/O 效能,在某些情況下,您可以使用這些旗標。比方說如果您需要讀取從一個大型檔案依序,不需要跳至該檔案的不同部份您最有可能將開啟檔案時使用 _O_SEQUENTIAL 旗標可改善您的應用程式效能。這為 CreateFile 轉換 FILE_FLAG_SEQUENTIAL_SCAN 旗標。

如需詳細資訊,請參閱下列來源:

Microsoft 知識庫 」: 「 讀取 」 這些文件
98756使用 FILE_FLAG_SEQUENTIAL_SCAN 的效能提升
103237使用暫存檔可以改善應用程式效能
Visual C++ 活頁線上: 「 讀取 」 _open/_wopen 和
   _sopen/_wsopen functions.  Search on "_open" and "_sopen."
				
Visual C++ 執行階段程式庫參考,第 2 部分執行階段參考: 讀取 _open/_wopen 和 _sopen/_wsopen 的說明。

Win32 程式設計人員參考磁碟區 3 函數參考手冊 》: 「 讀取 」 的 WIN32 API CreateFile 描述。

屬性

文章編號: 131324 - 上次校閱: 2003年12月9日 - 版次: 2.0
這篇文章中的資訊適用於:
  • The C Run-Time (CRT)?應用於:
    • Microsoft Visual C++ 1.0 Professional Edition
    • Microsoft Visual C++ 2.0 Professional Edition
    • Microsoft Visual C++ 2.1
    • Microsoft Visual C++ 4.0 Standard Edition
關鍵字:?
kbmt kbcrt KB131324 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:131324
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。
依現狀不再更新的知識庫內容免責聲明
本文旨在說明 Microsoft 不再提供支援的產品。因此,本文係依「現狀」提供,不會再更新。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com