跳转到内容

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
[编辑 | 编辑源代码]
华夏公益教科书