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

  1. ^ "Copyright 1985–1989, Microsoft Corporation", i filen QuickC version 2.00 process.h
  2. ^ Är min diskett formaterad? , groups-beta.google.com
  3. ^ Delorie.com
  4. ^ DJGPP process.h , delorie.com
  5. ^ Openwatcom.org Arkiverad 2015-03-17 på Wayback Machine
  6. ^ OpenWatcom clib Arkiverad 2006-10-11 på Wayback Machine , openwatcom.org
  7. ^ DigitalMars.com
  8. ^ Digital Mars process.h , digitalmars.com
  9. ^ MinGW.org
  10. ^ "MSDN.Microsoft.com" . Arkiverad från originalet 2007-07-07 . Hämtad 2007-01-15 .
  11. ^ "Borland.com" . Arkiverad från originalet 2012-11-05 . Hämtad 2007-01-15 .
  12. ^ C version 2.01 , dn.codegear.com
  13. ^ CS.Virginia.edu
  14. ^ QNX.com
  15. ^ DJGPP spawn * , delorie.com
  16. ^ Microsoft MSDN , msdn.microsoft.com

externa länkar