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ázev | Popis | Poznámky |
---|---|---|
execl, execle, execlp, execlpe | zatíž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, execvpe | načí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, spawnlpe | načíst a spustit nový podřízený proces. Parametry se předávají jednotlivě. | DOS, Win, OS / 2 |
spawnv, spawnve, spawnvp, spawnvpe | načíst a spustit nový podřízený proces. Parametry jsou předávány jako pole ukazatelů. | DOS, Win, OS / 2 |
beginthread, beginthreadNT | vytvoří nové vlákno provádění v rámci aktuálního procesu. | Win, OS / 2 |
koncový závit | ukončí vlákno vytvořené uživatelem začátek vlákna . | Win, OS / 2 |
getpid | vrátí identifikátor procesu. | DOS, Win, OS / 2 |
cexit | obnovit vektory přerušení změněné spouštěcím kódem. | DOS, Win, OS / 2 |
Konstanty členů
název | Popis | Poznámky | OS |
---|---|---|---|
_P_WAIT | Pozastaví nadřazený proces, dokud podřízený proces nedokončí provádění. | synchronní spawn. | MS-DOS, Win32, OS / 2 |
_P_NOWAIT, _P_NOWAITO | Pokračuje v souběžném provádění procesu volání s novým procesem. | asynchronní spawn. | Win32, OS / 2 |
_P_OVERLAY | Překryje nadřazený proces s dítětem, což zničí rodiče. | má stejný účinek jako exec * funkce. | MS-DOS, Win32, OS / 2 |
_P_DETACH | Dí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_CHILD | používá se jako cwait akce. | Zastaralé na Win32. | MS-DOS, OS / 2 |
_WAIT_GRANDCHILD | použí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.
- DJGPP[3][4]
- OpenWatcom,[5][6]
- Digitální Mars[7][8]
- MinGW[9]
- Microsoft Visual C ++[10]
- Borland Turbo C, 2.0 a novější[11][12]
- LCC32[13]
- QNX Neutrino QCC 6.x[14]
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
- ^ "Copyright 1985 9 9, Microsoft Corporation", v QuickC soubor process.h verze 2.00
- ^ Je moje disketa naformátovaná? „groups-beta.google.com
- ^ Delorie.com
- ^ Proces DJGPP.h, delorie.com
- ^ Openwatcom.org Archivováno 2015-03-17 na Wayback Machine
- ^ OpenWatcom clib Archivováno 2006-10-11 na Wayback Machine, openwatcom.org
- ^ DigitalMars.com
- ^ Digital Mars process.h, digitalmars.com
- ^ MinGW.org
- ^ „MSDN.Microsoft.com“. Archivovány od originál dne 2007-07-07. Citováno 2007-01-15.
- ^ „Borland.com“. Archivovány od originál dne 2012-11-05. Citováno 2007-01-15.
- ^ C verze 2.01[trvalý mrtvý odkaz ], dn.codegear.com
- ^ CS.Virginia.edu
- ^ QNX.com
- ^ Vytvoření DJGPP *, delorie.com
- ^ Microsoft MSDN, msdn.microsoft.com