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

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

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 描述。
kbinf 1.00 2.00 2.10 4.00 開啟 sopen 選項速度加快

警告:本文為自動翻譯

內容

文章識別碼:131324 - 最後檢閱時間:01/09/2015 05:18:26 - 修訂: 2.0

  • The C Run-Time (CRT)
  • kbnosurvey kbarchive kbmt kbcrt KB131324 KbMtzh
意見反應