WikiDer > Process.h
process.h это C заголовочный файл который содержит объявления функций и макросы, используемые при работе с потоками и процессами. Большинство компиляторов C, ориентированных на ДОС, 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. Решетка C компилятор версии 3.30 (24 августа 1988 г.) не имел такого файла заголовка, но предлагал аналогичные функции. Borland предоставил заголовок в своих Турбо С версия компилятора 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 |
конец нити | завершает поток, созданный 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 * функции. | 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 байт; о финальном персонаже ничего не говорится.
- Microsoft cl: список аргументов для нового процесса не должен превышать 1024 байта.[16]
Рекомендации
- ^ «Авторские права 1985 鈥 9, Microsoft Corporation», в QuickC версия 2.00 файл process.h
- ^ Отформатирована ли моя дискета?, groups-beta.google.com
- ^ Delorie.com
- ^ DJGPP process.h, delorie.com
- ^ Openwatcom.org В архиве 2015-03-17 на Wayback Machine
- ^ OpenWatcom clib В архиве 2006-10-11 на Wayback Machine, openwatcom.org
- ^ DigitalMars.com
- ^ Цифровой Марс process.h, digitalmars.com
- ^ MinGW.org
- ^ "MSDN.Microsoft.com". Архивировано из оригинал на 2007-07-07. Получено 2007-01-15.
- ^ "Borland.com". Архивировано из оригинал на 2012-11-05. Получено 2007-01-15.
- ^ C версия 2.01[постоянная мертвая ссылка], dn.codegear.com
- ^ CS.Virginia.edu
- ^ QNX.com
- ^ Возрождение DJGPP *, delorie.com
- ^ Microsoft MSDN, msdn.microsoft.com