процесс.ч
process.h C — это заголовочный файл , который содержит объявления функций и макросы, используемые для работы с потоками и процессами. Большинство компиляторов C, предназначенных для DOS , Windows 3.1x , Win32 , OS/2 , Novell NetWare или расширителей DOS , предоставляют этот заголовок и библиотечные функции в своей библиотеке C. Ни файл заголовка, ни большинство функций не определены ни стандартом ANSI/ISO C , ни POSIX .
История
[ редактировать ]Согласно заявлению об авторских правах, версия файла Microsoft датируется как минимум 1985 годом. [1] Первая ссылка на файл была в сообщении в сети net.micro.pc от 26 октября 1986 года. [2] В качестве компилятора использовался компилятор Microsoft C версии 3.0. Компилятор Lattice C версии 3.30 (24 августа 1988 г.) не имел такого заголовочного файла, но предлагал аналогичные функции. Borland предоставил этот заголовок в своем компиляторе Turbo C версии 2.01. Компилятор C Ware-Personal версии 1.2c (июнь 1989 г.) содержал только заголовки ANSI.
Функции
[ редактировать ]Имя | Описание | Примечания |
---|---|---|
execl, execle, execlp, execlpe |
загрузить и выполнить новый дочерний процесс, поместив его в память, ранее занятую родительским процессом. Параметры передаются индивидуально. | ДОС, Победа, ОС/2, POSIX |
execv, execve, execvp, execvpe |
загрузить и выполнить новый дочерний процесс, поместив его в память, ранее занятую родительским процессом. Параметры передаются как массив указателей. | ДОС, Победа, ОС/2, POSIX |
spawnl, spawnle, spawnlp, spawnlpe |
загрузить и выполнить новый дочерний процесс. Параметры передаются индивидуально. | ДОС, Вин, ОС/2 |
spawnv, spawnve, spawnvp, spawnvpe |
загрузить и выполнить новый дочерний процесс. Параметры передаются как массив указателей. | ДОС, Вин, ОС/2 |
beginthread, beginthreadNT |
создает новый поток выполнения внутри текущего процесса. | Победа, ОС/2 |
endthread |
завершает поток, созданный beginthread . |
Победа, ОС/2 |
getpid |
возвращает идентификатор процесса . | ДОС, Вин, ОС/2 |
cexit |
восстановить векторы прерываний, измененные кодом запуска. | ДОС, Вин, ОС/2 |
Константы
[ редактировать ]Имя | Описание | Примечания | ТЫ |
---|---|---|---|
_P_WAIT |
Приостанавливает родительский процесс до тех пор, пока дочерний процесс не завершит выполнение. | синхронный спавн. | MS-DOS, Win32, ОС/2 |
_P_NOWAIT, _P_NOWAITO |
Продолжает выполнять вызывающий процесс одновременно с новым процессом. | асинхронный спавн. | Win32, ОС/2 |
_P_OVERLAY |
Накладывает родительский процесс на дочерний, что уничтожает родителя. | имеет тот же эффект, что и exec* функции. |
MS-DOS, Win32, ОС/2 |
_P_DETACH |
Дочерний процесс запускается в фоновом режиме без доступа к консоли или клавиатуре. | Звонки в _cwait при новом процессе произойдет сбой. Асинхронный спавн. |
Win32, ОС/2 |
_WAIT_CHILD |
используется как cwait действие. |
Устарело для Win32. | MS-DOS, ОС/2 |
_WAIT_GRANDCHILD |
используется как cwait действие. |
Устарело для Win32. | MS-DOS, ОС/2 |
Реализации
[ редактировать ]Учитывая тот факт, что не существует стандарта, на котором можно было бы основывать реализацию, функции, объявленные в Process.h, различаются в зависимости от используемого компилятора. Ниже приведен список компиляторов, которые предоставляют файл Process.h.
- DJGPP [3] [4]
- ОпенВатком, [5] [6]
- Цифровой Марс [7] [8]
- МинГВ [9]
- Microsoft Visual С++ [10]
- Borland Turbo C, 2.0 и более поздние версии [11] [12]
- Лкк32 [13]
- QNX Нейтрино QCC 6.x [14]
Различия
[ редактировать ]Другой аспект, который может отличаться, — это общая длина параметров exec* и spawn*.
- Делори DJGPP: такого ограничения нет. [15]
- Digital Mars: максимум 128 байт; ничего не сказано о конечном символе '\0'.
- Microsoft cl: список аргументов нового процесса не должен превышать 1024 байта. [16]
Ссылки
[ редактировать ]- ^ «Авторское право 1985–1989, Microsoft Corporation», в файле процесса QuickC версии 2.00.h
- ^ Отформатирована ли моя дискета? , группы-beta.google.com
- ^ Делори.com
- ^ DJGPP процесс.h , delorie.com
- ^ Openwatcom.org. Архивировано 17 марта 2015 г. на Wayback Machine.
- ^ OpenWatcom clib. Архивировано 11 октября 2006 г. на Wayback Machine , openwatcom.org.
- ^ DigitalMars.com
- ^ Digital Marsprocess.h , digitalmars.com
- ^ MinGW.org
- ^ «MSDN.Microsoft.com» . Архивировано из оригинала 7 июля 2007 г. Проверено 15 января 2007 г.
- ^ «Борланд.ком» . Архивировано из оригинала 5 ноября 2012 г. Проверено 15 января 2007 г.
- ^ Версия C 2.01 [ постоянная мертвая ссылка ] , dn.codegear.com
- ^ CS.Virginia.edu
- ^ QNX.com
- ^ DJGPP спавн * , delorie.com
- ^ Microsoft MSDN , msdn.microsoft.com.