Új hozzászólás Aktív témák
-
jattila48
aktív tag
válasz
disy68 #20016 üzenetére
Továbbra is fenntartom, hogy a main fv. semmiben sem speciális, nem hívja meg (legalábbis magától) az exit-et, és nem csonkolja az int visszatérési értékét. Egyébként a linkereknek megadhatod, hogy mi legyen a belépési pont, a main csupán a default. Ahogy az előző hozzászólásomban írtam, az exit végülis valóban meg lesz hívva, de nem a main, hanem a main fv.-t hívó entitás (RTL, libc,...) fogja azt meghívni. Leegyszerűsítve nagyjából így:
exit(main(...));
Amikor a rendszer egy processzt kerál (pl. a shell), akkor CreateProcess rendszerhívással hozza létre (Windowsban) az exe fájlból. Először az exe-hez linkelt Startup (RTL, libc) fv. indul el, amely különböző inicializálások után meghívja a main fv.-t, majd annak visszatérési értékével (ha a main nem hívott explicite exit-et), az exit rendszerhívást. A processz indító entitás, pedig WaitForSingleObject-tel várakozik a processz befejeződésére, ami az exit végrehajtásával következik be. Az exit által kreált exit kódot a GetExitCodeProcess hívásával szerzi meg. Windows-ban semmi különös nem történik, visszakapom a 4 bájtos visszatérő értéket. Linux-on azonban, vagy az exit, vagy a wait* fv. (valószínűleg az utóbbi) 8 bitre csonkolja azt. Hogy ez a viselkedés POSIX szabvány-e vagy nem, azt nem tudom (újabban valószínűleg nem az), de mindenesetre semmiképpen nem a main fv. specialitása.
Az IPC módokat ismerem (kb. 30 éve programozok), szerintem az most itt nem releváns.
"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 "
Ez szerintem nem így van, az exec visszatérési értéke (exec 3. argumentuma) a hívott exe program visszatérési értéke (amit végül is az exit->wait* állít elő), az stdout-ra írt értékeket pedig az exec 2. argumentumában kapom vissza tömbben.
Új hozzászólás Aktív témák
- Gépész 3D tervezőrendszerek
- Bluetooth hangszórók
- Okosóra és okoskiegészítő topik
- Hearthstone: Heroes of Warcraft - free online CCG
- Luck Dragon: Asszociációs játék. :)
- Gitáros topic
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- gban: Ingyen kellene, de tegnapra
- Borderlands 4
- Gaming notebook topik
- További aktív témák...
- RAZER Viper V2 Pro fehér (Hiányos) INGYEN FOXPOST
- ASUS ROG STRIX 1000W Gold Aura Edition RGB Moduláris Tápegység PCIE 5 ATX 3 12VHPWR
- Asus Rog Thor II 1000W Platinum OLED RGB Moduláris Tápegység
- 32" Interaktiv Monitor Érintőképernyővel - Iiyama ProLite TF3237MSC-B3AG Touch-
- Apple Iphone 12 64gb kék -független-
- 143 - Lenovo LOQ (15IRH8) - Intel Core i5-13500H, RTX 4060
- ÁRGARANCIA!Épített KomPhone i5 14600KF 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- Gamer PC-Számítógép! Csere-Beszámítás! R5 5500 / RX 6700XT / 32GB DDR4 / 1TB SSD
- Lenovo T14 Thinkpad Gen3 WUXGA IPS i5-1245U vPro 10mag 16GB 512GB Intel Iris XE Win11 Pro Garancia
- Bomba ár! Dell Latitude 5400 - i7-8GEN I 8GB I 256SSD I 14" FHD I HDMI I Cam I W11 I Gari!
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest