Proces.h - Process.h

proces.h je C. hlavičkový soubor který obsahuje deklarace funkcí a makra používaná při práci s vlákny a procesy. Většina kompilátorů jazyka C, které cílí DOS, Windows 3.1x, Win32, OS / 2, Novell NetWare nebo DOS extendery dodávají tuto hlavičku a funkce knihovny ve své knihovně C. Ani soubor záhlaví, ani většina funkcí nejsou definovány pomocí ANSI / ISO C standard nebo POSIX.

Dějiny

Verze souboru Microsoftu pochází z roku 1985, podle jeho prohlášení o autorských právech.[1] Časný odkaz na soubor byl v příspěvku na net.micro.pc usenet 26. října 1986.[2] Použitý překladač byl Překladač Microsoft C. verze 3.0 Mřížka C. kompilátor verze 3.30 (24. srpna 1988) takový soubor záhlaví neměl, ale nabídl podobné funkce. Borland poskytl záhlaví ve svém Turbo C. překladač verze 2.01. Překladač C Ware-Personal C verze 1.2c (červen 1989) měl pouze záhlaví ANSI.

Členské funkce

názevPopisPoznámky
execl, execle, execlp, execlpezatížení a vykonat nový podřízený proces umístěním do paměti dříve obsazené nadřazeným procesem. Parametry se předávají jednotlivě.DOS, Win, OS / 2, POSIX
execv, execve, execvp, execvpenačíst a spustit nový podřízený proces umístěním do paměti dříve obsazené nadřazeným procesem. Parametry jsou předávány jako pole ukazatelů.DOS, Win, OS / 2, POSIX
spawnl, spawnle, spawnlp, spawnlpenačíst a spustit nový podřízený proces. Parametry se předávají jednotlivě.DOS, Win, OS / 2
spawnv, spawnve, spawnvp, spawnvpenačíst a spustit nový podřízený proces. Parametry jsou předávány jako pole ukazatelů.DOS, Win, OS / 2
beginthread, beginthreadNTvytvoří nové vlákno provádění v rámci aktuálního procesu.Win, OS / 2
koncový závitukončí vlákno vytvořené uživatelem začátek vlákna.Win, OS / 2
getpidvrátí identifikátor procesu.DOS, Win, OS / 2
cexitobnovit vektory přerušení změněné spouštěcím kódem.DOS, Win, OS / 2

Konstanty členů

názevPopisPoznámkyOS
_P_WAITPozastaví nadřazený proces, dokud podřízený proces nedokončí provádění.synchronní spawn.MS-DOS, Win32, OS / 2
_P_NOWAIT, _P_NOWAITOPokračuje v souběžném provádění procesu volání s novým procesem.asynchronní spawn.Win32, OS / 2
_P_OVERLAYPřekryje nadřazený proces s dítětem, což zničí rodiče.má stejný účinek jako exec * funkce.MS-DOS, Win32, OS / 2
_P_DETACHDítě běží na pozadí bez přístupu ke konzole nebo klávesnici.Vyzývá uživatele _cwait po novém procesu selže. Asynchronní spawn.Win32, OS / 2
_WAIT_CHILDpoužívá se jako cwait akce.Zastaralé na Win32.MS-DOS, OS / 2
_WAIT_GRANDCHILDpoužívá se jako cwait akce.Zastaralé na Win32.MS-DOS, OS / 2

Implementace

Vzhledem k tomu, že neexistuje žádný standard, na kterém by se měla implementace zakládat, funkce deklarované process.h se liší v závislosti na použitém kompilátoru. Níže je uveden seznam překladačů, které poskytují process.h.

Rozdíly

Dalším aspektem, který se může lišit, je kombinovaná délka parametrů exec * a spawn *.

  • Delorie DJGPP: nemá takový limit.[15]
  • Digitální Mars: maximum je 128 bytů; o koncovém znaku není nic uvedeno.
  • Microsoft cl: seznam argumentů pro nový proces nesmí překročit 1024 bajtů.[16]

Reference

  1. ^ "Copyright 1985 9 9, Microsoft Corporation", v QuickC soubor process.h verze 2.00
  2. ^ Je moje disketa naformátovaná? „groups-beta.google.com
  3. ^ Delorie.com
  4. ^ Proces DJGPP.h, delorie.com
  5. ^ Openwatcom.org Archivováno 2015-03-17 na Wayback Machine
  6. ^ OpenWatcom clib Archivováno 2006-10-11 na Wayback Machine, openwatcom.org
  7. ^ DigitalMars.com
  8. ^ Digital Mars process.h, digitalmars.com
  9. ^ MinGW.org
  10. ^ „MSDN.Microsoft.com“. Archivovány od originál dne 2007-07-07. Citováno 2007-01-15.
  11. ^ „Borland.com“. Archivovány od originál dne 2012-11-05. Citováno 2007-01-15.
  12. ^ C verze 2.01[trvalý mrtvý odkaz ], dn.codegear.com
  13. ^ CS.Virginia.edu
  14. ^ QNX.com
  15. ^ Vytvoření DJGPP *, delorie.com
  16. ^ Microsoft MSDN, msdn.microsoft.com

externí odkazy