process.h - process.h
process.h är en C- huvudfil som innehåller funktionsdeklarationer och makron som används för att arbeta med trådar och processer. De flesta C-kompilatorer som är inriktade på DOS , Windows 3.1x , Win32 , OS / 2 , Novell NetWare eller DOS-förlängare levererar denna rubrik och biblioteksfunktionerna i deras C-bibliotek. Varken huvudfilen eller de flesta funktioner definieras av antingen ANSI / ISO C- standarden eller av POSIX .
Historia
Microsofts version av filen går tillbaka till åtminstone 1985, enligt dess upphovsrättsförklaring. En tidig hänvisning till filen var i ett inlägg på net.micro.pc usenet den 26 oktober 1986. Kompilatorn som användes var Microsoft C kompilator version 3.0. Den Lattice C -kompilator version 3,30 (Aug-24-1988) inte har en sådan headerfil, men erbjöd liknande funktioner. Borland tillhandahöll rubriken i sin Turbo C- kompilator version 2.01. C Ware-Personal C-kompilatorversion 1.2c (juni 1989) hade bara ANSI-rubrikerna.
Funktioner
| namn | Beskrivning | Anteckningar |
|---|---|---|
execl, execle, execlp, execlpe |
ladda och utföra en ny underordnad process genom att placera den i minnet som tidigare upptogs av överordnadsprocessen Parametrar skickas individuellt. | DOS, Win, OS / 2, POSIX |
execv, execve, execvp, execvpe |
ladda och utföra en ny underordnad process genom att placera den i minnet som tidigare upptogs av överordnadsprocessen Parametrar skickas som en rad pekare. | DOS, Win, OS / 2, POSIX |
spawnl, spawnle, spawnlp, spawnlpe |
ladda och utföra en ny barnprocess. Parametrar skickas individuellt. | DOS, Win, OS / 2 |
spawnv, spawnve, spawnvp, spawnvpe |
ladda och utföra en ny barnprocess. Parametrar skickas som en rad pekare. | DOS, Win, OS / 2 |
beginthread, beginthreadNT |
skapar en ny körtråd inom den aktuella processen. | Win, OS / 2 |
endthread |
avslutar en tråd skapad av beginthread . |
Win, OS / 2 |
getpid |
returnerar processidentifieraren . | DOS, Win, OS / 2 |
cexit |
återställ avbrottsvektorer ändrade av startkoden. | DOS, Win, OS / 2 |
Konstanter
| namn | Beskrivning | Anteckningar | OS |
|---|---|---|---|
_P_WAIT |
Avbryter överordnad process tills barnprocessen har slutförts. | synkron spawn. | MS-DOS, Win32, OS / 2 |
_P_NOWAIT, _P_NOWAITO |
Fortsätter att utföra samtalsprocessen samtidigt med den nya processen. | asynkron spawn. | Win32, OS / 2 |
_P_OVERLAY |
Överlagrar föräldrarnas process med barnet, vilket förstör föräldern. | har samma effekt som exec* funktionerna. |
MS-DOS, Win32, OS / 2 |
_P_DETACH |
Barnet körs i bakgrunden utan åtkomst till konsolen eller tangentbordet. | Anrop till _cwait den nya processen misslyckas. Asynkron lek. |
Win32, OS / 2 |
_WAIT_CHILD |
används som cwait handling. |
Föråldrad på Win32. | MS-DOS, OS / 2 |
_WAIT_GRANDCHILD |
används som cwait handling. |
Föråldrad på Win32. | MS-DOS, OS / 2 |
Implementeringar
Med tanke på det faktum att det inte finns någon standard att implementera, baseras de funktioner som deklareras av process.h, beroende på vilken kompilator som används. Nedan är en lista över kompilatorer som tillhandahåller process.h.
- DJGPP
- OpenWatcom,
- Digital Mars
- MinGW
- Microsoft Visual C ++
- Borland Turbo C, 2.0 och senare
- Lcc32
- QNX Neutrino QCC 6.x
Skillnader
En annan aspekt som kan variera är den kombinerade längden på exec * och spawn * -parametrar.
- Delorie DJGPP: har inte en sådan gräns.
- Digital Mars: maximalt är 128 byte; ingenting anges om slutet '\ 0' karaktär.
- Microsoft cl: argumentlistan för den nya processen får inte överstiga 1024 byte.
Referenser
- ^ "Copyright 1985–1989, Microsoft Corporation", i filen QuickC version 2.00 process.h
- ^ Är min diskett formaterad? , groups-beta.google.com
- ^ Delorie.com
- ^ DJGPP process.h , delorie.com
- ^ Openwatcom.org Arkiverad 2015-03-17 på Wayback Machine
- ^ OpenWatcom clib Arkiverad 2006-10-11 på Wayback Machine , openwatcom.org
- ^ DigitalMars.com
- ^ Digital Mars process.h , digitalmars.com
- ^ MinGW.org
- ^ "MSDN.Microsoft.com" . Arkiverad från originalet 2007-07-07 . Hämtad 2007-01-15 .
- ^ "Borland.com" . Arkiverad från originalet 2012-11-05 . Hämtad 2007-01-15 .
- ^ C version 2.01 , dn.codegear.com
- ^ CS.Virginia.edu
- ^ QNX.com
- ^ DJGPP spawn * , delorie.com
- ^ Microsoft MSDN , msdn.microsoft.com