跳轉到內容

C 程式設計/MS Windows 參考/process.h

來自 Wikibooks,開放的書籍,開放的世界

process.h 是一個 C 標頭檔案,其中包含在處理執行緒和程序時使用的函式宣告和宏。大多數針對 DOS、Windows 3.1x、Win32、OS/2、Novell NetWare 或 DOS 擴充套件程式的 C 編譯器都會在其 C 庫中提供此標頭檔案和庫函式。標頭檔案和函式都沒有在 ANSI C|ANSI/ISO C 標準或 POSIX 中定義。

根據其版權宣告,微軟版本的該檔案至少可以追溯到 1985 年。 [1] 早期對該檔案的參考是在 1986 年 10 月 26 日的 net.micro.pc usenet 帖子中。 [2] 使用的編譯器是 Microsoft C 編譯器版本 3.0。 Lattice C 編譯器版本 3.30(1988 年 8 月 24 日)沒有這樣的標頭檔案,但提供了類似的函式。從 Borland 開始,他們在 Turbo C 編譯器版本 2.01 中提供了它。C Ware-Personal C 編譯器版本 1.2c(1989 年 6 月)只有 ANSI 標頭檔案。

成員函式

[編輯 | 編輯原始碼]
名稱 描述 註釋
exec (作業系統)|execl、execle、execlp、execlpe 透過將新的子程序放置在以前由父程序佔用的記憶體中來執行新的子程序。引數單獨傳遞。 DOS、Win、OS/2、POSIX
exec (作業系統)|execv、execve、execvp、execvpe 透過將新的子程序放置在以前由父程序佔用的記憶體中來載入和執行新的子程序。引數作為指標陣列傳遞。 DOS、Win、OS/2、POSIX
spawn (計算)|spawnl、spawnle、spawnlp、spawnlpe 載入和執行新的子程序。引數單獨傳遞。 DOS、Win、OS/2
spawn (計算)|spawnv、spawnve、spawnvp、spawnvpe 載入和執行新的子程序。引數作為指標陣列傳遞。 DOS、Win、OS/2
beginthread|beginthread、beginthreadNT 在當前程序中建立新的執行執行緒。 Win、OS/2
endthread|endthread 終止由 beginthread 建立的執行緒。 Win、OS/2
getpid|getpid 返回程序識別符號。 DOS、Win、OS/2
cexit|cexit 恢復由啟動程式碼更改的中斷向量。 DOS、Win、OS/2

成員常量

[編輯 | 編輯原始碼]
名稱 描述 註釋 作業系統
_P_WAIT 掛起父程序,直到子程序執行完畢。 同步生成。 MS-DOS、Win32、OS/2
_P_NOWAIT、_P_NOWAITO 繼續與新程序併發執行呼叫程序。 非同步生成。 Win32、OS/2
_P_OVERLAY 用子程序覆蓋父程序,從而銷燬父程序。 exec* 函式具有相同的效果。 MS-DOS、Win32、OS/2
_P_DETACH 子程序在後臺執行,無權訪問控制檯或鍵盤。 對新程序的 _cwait 呼叫將失敗。非同步生成。 Win32、OS/2
_WAIT_CHILD 用作 cwait 操作。 在 Win32 上已過時。 MS-DOS、OS/2
_WAIT_GRANDCHILD 用作 cwait 操作。 在 Win32 上已過時。 MS-DOS、OS/2

由於沒有標準可以作為實現的基礎,因此 process.h 中宣告的函式有所不同,具體取決於您使用的編譯器。以下是提供 process.h 的編譯器列表。

另一個可能不同的方面是 exec* 和 spawn* 引數的組合長度。

  • Delorie DJGPP:沒有這樣的限制。 [15]
  • Digital Mars:最大值為 128 位元組;沒有說明結束符 '\0' 的內容。
  • Microsoft cl:新程序的引數列表不能超過 1024 位元組。 [16]
  1. “Copyright 1985–1989, Microsoft Corporation”,在 QuickC 版本 2.00 的 process.h 檔案中
  2. 我的軟盤格式化了嗎?,groups-beta.google.com
  3. Delorie.com
  4. DJGPP process.h,delorie.com
  5. Openwatcom.org
  6. OpenWatcom clib,openwatcom.org
  7. DigitalMars.com
  8. Digital Mars process.h,digitalmars.com
  9. MinGW.org
  10. MSDN.Microsoft.com
  11. Borland.com
  12. C 版本 2.01,dn.codegear.com
  13. CS.Virginia.edu
  14. QNX.com
  15. DJGPP spawn*,delorie.com
  16. Microsoft MSDN,msdn.microsoft.com
[編輯 | 編輯原始碼]
華夏公益教科書