C 程式設計/MS Windows 參考/process.h
外觀
< C 程式設計 | MS Windows 參考
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 的編譯器列表。
- DJGPP[3] [4]
- OpenWatcom[5][6]
- Digital Mars[7][8]
- MinGW[9]
- Microsoft Visual C++[10]
- Borland Turbo C,2.0 及更高版本[11][12]
- Lcc32[13]
- QNX Neutrino QCC 6.x[14]
另一個可能不同的方面是 exec* 和 spawn* 引數的組合長度。
- Delorie DJGPP:沒有這樣的限制。 [15]
- Digital Mars:最大值為 128 位元組;沒有說明結束符 '\0' 的內容。
- Microsoft cl:新程序的引數列表不能超過 1024 位元組。 [16]
- ↑ “Copyright 1985–1989, Microsoft Corporation”,在 QuickC 版本 2.00 的 process.h 檔案中
- ↑ 我的軟盤格式化了嗎?,groups-beta.google.com
- ↑ Delorie.com
- ↑ DJGPP process.h,delorie.com
- ↑ Openwatcom.org
- ↑ OpenWatcom clib,openwatcom.org
- ↑ DigitalMars.com
- ↑ Digital Mars process.h,digitalmars.com
- ↑ MinGW.org
- ↑ MSDN.Microsoft.com
- ↑ Borland.com
- ↑ C 版本 2.01,dn.codegear.com
- ↑ CS.Virginia.edu
- ↑ QNX.com
- ↑ DJGPP spawn*,delorie.com
- ↑ Microsoft MSDN,msdn.microsoft.com