process.h - это файл заголовка C, который содержит объявления функций и макросы, используемые при работе с потоками и процессами. Большинство компиляторов C, предназначенных для DOS , Windows 3.1x , Win32 , OS / 2 , Novell NetWare или расширителей DOS, предоставляют этот заголовок и функции библиотеки в своей библиотеке C. Ни файл заголовка, ни большинство функций не определены ни стандартом ANSI / ISO C, ни POSIX .
История [ править ]
Согласно заявлению об авторских правах, версия файла Microsoft датируется по крайней мере 1985 годом. [1] Первая ссылка на файл была в сообщении в usenet net.micro.pc 26 октября 1986 года. [2] Используемый компилятор - компилятор Microsoft C версии 3.0. Lattice C компилятор версии 3.30 (август-24-1988) не имеют такой файл заголовка, но предложил аналогичные функции. Borland предоставила заголовок в своем компиляторе Turbo C версии 2.01. Компилятор C Ware-Personal C версии 1.2c (июнь 1989 г.) имел только заголовки ANSI.
Функции-члены [ править ]
Имя | Описание | Примечания |
---|---|---|
execl, execle, execlp, execlpe | загрузить и выполнить новый дочерний процесс, поместив его в память, ранее занятую родительским процессом. Параметры передаются индивидуально. | ДОС, Win, OS / 2, POSIX |
execv, execve, execvp, execvpe | загрузить и выполнить новый дочерний процесс, поместив его в память, ранее занятую родительским процессом. Параметры передаются в виде массива указателей. | ДОС, Win, OS / 2, POSIX |
spawnl, spawnle, spawnlp, spawnlpe | загрузить и выполнить новый дочерний процесс. Параметры передаются индивидуально. | ДОС, Win, OS / 2 |
spawnv, spawnve, spawnvp, spawnvpe | загрузить и выполнить новый дочерний процесс. Параметры передаются в виде массива указателей. | ДОС, Win, OS / 2 |
beginthread, beginthreadNT | создает новый поток выполнения в текущем процессе. | Победа, OS / 2 |
endthread | завершает поток, созданный beginthread . | Победа, OS / 2 |
getpid | возвращает идентификатор процесса . | ДОС, Win, OS / 2 |
cexit | восстановить векторы прерывания, измененные кодом запуска. | ДОС, Win, OS / 2 |
Константы членов [ править ]
Имя | Описание | Примечания | Операционные системы |
---|---|---|---|
_P_WAIT | Приостанавливает родительский процесс до тех пор, пока дочерний процесс не завершит выполнение. | синхронный нерест. | MS-DOS, Win32, OS / 2 |
_P_NOWAIT, _P_NOWAITO | Продолжает выполнять вызывающий процесс одновременно с новым процессом. | асинхронный порождение. | Win32, OS / 2 |
_P_OVERLAY | Накладывает родительский процесс на дочерний, который уничтожает родительский процесс. | имеет тот же эффект, что и exec* functions. | 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]
- Цифровой Марс [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 *.
- Делори DJGPP: такого лимита нет. [15]
- Цифровой Марс: максимум 128 байт; ничего не говорится о конце символа '\ 0'.
- Microsoft cl: список аргументов для нового процесса не должен превышать 1024 байта. [16]
Ссылки [ править ]
- ^ "Copyright 1985–1989, Microsoft Corporation", вфайле process.h версии 2.00 QuickC
- ^ Отформатирована ли моя дискета? , groups-beta.google.com
- ^ Delorie.com
- ^ DJGPP process.h , delorie.com
- ^ Openwatcom.org Архивировано 17 марта 2015 г. на Wayback Machine
- ^ OpenWatcom clib Архивировано 11 октября 2006 г.на Wayback Machine , openwatcom.org
- ^ DigitalMars.com
- ^ Digital Mars process.h , digitalmars.com
- ^ MinGW.org
- ^ "MSDN.Microsoft.com" . Архивировано из оригинала на 2007-07-07 . Проверено 15 января 2007 .
- ^ "Borland.com" . Архивировано из оригинала на 2012-11-05 . Проверено 15 января 2007 .
- ^ C версия 2.01 [ постоянная мертвая ссылка ] , dn.codegear.com
- ^ CS.Virginia.edu
- ^ QNX.com
- ^ Появление DJGPP * , delorie.com
- ^ Microsoft MSDN , msdn.microsoft.com
Внешние ссылки [ править ]
- Справочник по Digital Mars _exec