Új hozzászólás Aktív témák
-
disy68
aktív tag
válasz
jattila48 #20014 üzenetére
"Márpedig az int main(int, char **) fv. éppen olyan közönséges fv., mint bármelyik"
Ez nem igaz, a main függvény végén lesz egy system exit call, vagy a return által visszaadott értékkel vagy default 0, amennyiben nem volt explicit exit hívás vagy bármi egyéb runtime error.A fentiek alapján látszik, hogy az exit code az nem adat átadásra szolgál, hanem a process befejézés állapotának a közlésére. Processek közötti kommunikáció vagy adatcsere az nem ilyen egyszerű. Erről itt találsz egy összefoglalót. A táblázatban az anonymous pipe, amit én is írtam a standard out, ami a te esetedben a bevált és használt megoldás. Bármi más az vagy lassabb lesz (pl. file-ok) vagy sokkal komplexebb (pl. socket vagy message queue-k). Persze ragaszkodhatsz az exit code megerőszakolásához is, ez a te dolgod.
A standard out-ra kerülő adat a visszatérési érték a php shell_exec és exec függvényénél is (a megkötések benne vannak a dokumentációban).
A windows vonatkozást én néztem be, sorry, figyelmetlenül olvastam a dokumentációt.
-
jattila48
aktív tag
válasz
jattila48 #20014 üzenetére
Közben beledebuggoltam a programba (Windows alatt, Linux-on még nem), és a rendszer (Windows RTL, Linuxon libc) a main meghívása után valóban meghívja az exit fv.-t, aminek a main-ből return-nel visszaadott értéket adja át. Az exit ezt az értéket lehet, hogy Linux-on 8 bitre csonkolja, Windows-on nem. Vagyis szerintem itt lesz a kutya elásva, az exit-nél. Akkor is meg lesz hívva (a libc által), ha a main-ből return-nel térek vissza. Minden esetre az továbbra is igaz, hogy ez nem a main fv. specialitása. A válaszokat köszönöm, probléma felderítve. Most már legalább ezt is tudom. Igaz rá ment egy napom, hogy kiderítsem, linuxon miért nem működött a PHP szkriptem.
A Windows max. 499-es visszatérési értéke mellékszál, de azért még érdekel. Ha tudtok róla bővebbet, kérlek ne tartsátok magatokban.
Új hozzászólás Aktív témák
- Eladó konfig! Ryzen 7 7800X3D 2TB SSD 64GB DDR5 RX9070XT 16GB!
- Új, makulátlan állapotú Samsung Galaxy Buds FE, fehér, fél év garancia
- Új, makulátlan állapotú Samsung Galaxy Watch7 44mm ezüst, 2 év garancia
- Új, makulátlan állapotú Samsung Z Fold 6 256GB Tengerészkék, független, 2 év garancia
- Használt TP-Link Deco M4 - AC1200 Router (Mesh-ként is használható)
- Csere-Beszámítás! PowerColor Red Devil Spectral White RX 9070XT Videokártya! Bemutató Darab!
- Gamer laptop felvásárlás Magas áron, gyorsan és egyszerűen!
- LG UltraGear Gaming Monitorok: FRISS SZÁLLÍTMÁNY -30%
- Csere-Beszámítás! Gigabyte Aorus Elite RX 9070 XT 16GB Videokártya! Bemutató darab!
- BESZÁMÍTÁS! Gigabyte A620M R5 7600 32GB DDR5 512GB SSD RTX 4070 12GB ZALMAN S2 TG EVGA 650W
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: Promenade Publishing House Kft.
Város: Budapest