- Ergonomikus, vezeték nélküli chiclet billentyűzet a Kensington értelmezésében
- Kiszivárgott egy lista a várható Lunar Lake modellekről
- Még ki se jött az új Xeon, de máris a 2025-ös fejlesztésre koncentrál az Intel
- Ezért működik ma csak Snapdragon X-en az Auto SR
- Problémák a Samsung 3 nm-es node-jával
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Nem indul és mi a baja a gépemnek topik
- HiFi műszaki szemmel - sztereó hangrendszerek
- 2030-tól jöhet el a Hyper-NA EUV berendezések kora
- Formabontó vezetékmentes klaviatúrák jöttek a Keychron műhelyéből
- Vezetékes FEJhallgatók
- Kormányok / autós szimulátorok topicja
- AMD Catalyst™ driverek topikja
- Bambu Lab X1/X1C, P1P-P1S és A1 mini tulajok
- Milyen asztali (teljes vagy fél-) gépet vegyek?
Hirdetés
-
The First Descendant - Karakter előzetesek a megjelenésig
gp Alig néhány nap van már csak hátra az indulásig, érdemes közelebbről is megnézni a választható szereplőket.
-
Olcsó USB WiFi AC adapter
lo Egy olcsó WiFi AC USB adapter jó szolgálatot jelenthet, ha az új router csak elvileg támogatja a 2,4 GHz-es átvitelt.
-
Apple iPad Air 13” (M2, 2024) - a méret a lényeg
ma Nagyobb lett a kijelző, megörökölte az M2-es chipet és 128 GB-ra nőtt az induló tárhely. Mi kellene még?
Új hozzászólás Aktív témák
-
cidalain
veterán
válasz jattila48 #19441 üzenetére
mondjuk sokat segített volna, ha látjuk mi az a HTML ami megjelent előtte.
pláne így, hogy kiderült, hogy egy hibaüzenet volt.
de a beírt sortól a hiba még nem szűnt meg, csak nem printelődik ki. így ugyan az működik amit akarsz, de valahol az a hiba még megvan.>> GearBest Club Veszprém << >> https://www.facebook.com/gbc.veszprem <<
-
DNReNTi
őstag
válasz jattila48 #19444 üzenetére
Ezt mi ugy hivjuk a meloban, hogy "bekented szarral". Ahogy mar korabban is irtak neked, a problemat nem oldottad meg, csak elrejtetted. Ha ismered a hiba okat, marpedig most irtad le, akkor jobb lenne magat a hibat orvosolni, nem pedig csak a tuneteket.
Nem oltas, csak tanacs.
but without you, my life is incomplete, my days are absolutely gray
-
jattila48
aktív tag
válasz jattila48 #19444 üzenetére
Közben azt hiszem rájöttem, mi a hiba.
$files=array_diff(scandir($dir),array('..','.'));
utasítás a file név tömbből kiveszi az első két elemet, a . és .. neveket, ezért a 0 és 1 index érvénytelen. Érdekes ez a PHP, nekem még elég szokatlan (C, C++ -hoz vagyok szokva).„Kétségtelen, hogy nem tudjuk, mit tegyünk, de felkészültek és elszántak vagyunk.” - Olaf Scholz német kancellár
-
#68216320
törölt tag
válasz jattila48 #19998 üzenetére
Nem vagyok járatos a témában, de esetleg shell_exec() -el tehetsz egy próbát.
-
disy68
aktív tag
válasz jattila48 #20000 üzenetére
Ha a program visszatérési értéke az exit code-ot jelenti, akkor érthető, mert az exit code-ok csak 255-ig értelmezettek linux rendszereknél míg windows-on 499-ig. Ha valóban erről van szó, akkor ezt ne így használd semmiképp sem.
“Yeah, well, you know, that’s just, like, your opinion, man.” — The Dude
-
jattila48
aktív tag
válasz jattila48 #20003 üzenetére
Közben a C exit fv.-től olvasom, hogy az argumentumaként megadott egész érték alsó 8 byte-ja lesz a hívónak visszaadott statusz kód. A programom viszont egyszerűen return-nel adja vissza az értéket, nem hív exit-et.
„Kétségtelen, hogy nem tudjuk, mit tegyünk, de felkészültek és elszántak vagyunk.” - Olaf Scholz német kancellár
-
jattila48
aktív tag
válasz jattila48 #20004 üzenetére
Lehet, hogy a Linux-on az int main(int,char **) fv. return-nel is csak az alsó 8 bitet adja vissza? Windowsban nem így van. Ritkán programozok Linux-ban, ez még fel sem tűnt.
„Kétségtelen, hogy nem tudjuk, mit tegyünk, de felkészültek és elszántak vagyunk.” - Olaf Scholz német kancellár
-
disy68
aktív tag
válasz jattila48 #20003 üzenetére
Az exit code és fogalma az nem értelmezés kérdése. Linux alatt az exit code 0-255 között míg Windows alatt 0-499 között értelmezett (foglalt és szabad exit kódok).
Általában a programok a standard out/standard error csatornákat fogják írni, ez lesz a kimenete a programnak, a tényleges adat (persze lehet ezen kívül ezer meg egy módon kimenetet generálni, pl. fájlba írni, de ez most nem érdekes).
"A programom viszont egyszerűen return-nel adja vissza az értéket, nem hív exit-et."
A main-ből hívott return az kvázi az exit-nek fog megfelelni. A main-ből nem térünk vissza return-nel, hanem a standard out-ra kiírjuk az adatot, amivel csinálhat a hívó, amit szeretne. Ez okozza nálad is a problémát. Írd ki a program végén az eredményt és azt használd php-ből.“Yeah, well, you know, that’s just, like, your opinion, man.” — The Dude
-
sztanozs
veterán
válasz jattila48 #20011 üzenetére
POSIX rendszerekben a visszatérési érték 0-255 között lehet (vélelmezhetően 8-bites rendszerekhet való kompatibilitási okok miatt).
Az int mérete rendszerenként más és más, általában a rendszer natív kódszélességét jelenti (x86 rendszereken 32 bit, 64 bites rendszereken lehet 64 bit, de pl 8 bites rendszereken csak 8 bit). A word (modern rendszerekben long) dupla int hosszú.256-ból úgy lesz 0, hogy a 256-tal (8bit) való maradékos osztás eredményét adja vissza a rendszer - illetve a visszatérési érték RETVAL & 0xff
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
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.[ Szerkesztve ]
„Kétségtelen, hogy nem tudjuk, mit tegyünk, de felkészültek és elszántak vagyunk.” - Olaf Scholz német kancellár
-
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.
“Yeah, well, you know, that’s just, like, your opinion, man.” — The Dude
-
jattila48
aktív tag
válasz jattila48 #20029 üzenetére
A PHP exec visszatérési értékén a 3. argumentumát értem. A PHP értelemben vett visszatérési értéke az stdout-ra írt utolsó sor (ami egyébként a 2. argumentum utolsó eleme is lesz) sztringként. A 3. argumentumban kapom vissza az exe program visszatérési értékét, ezért értem azt az "igazi" visszatérési értéknek. Bocs, ha esetleg zavarosan fogalmaztam.
„Kétségtelen, hogy nem tudjuk, mit tegyünk, de felkészültek és elszántak vagyunk.” - Olaf Scholz német kancellár
-
jattila48
aktív tag
válasz jattila48 #20030 üzenetére
Közben éppen az általad linkelt Wikipédia cikkben megtaláltam, hogy a
waitid
-del visszakaphatod mind a 4 byte-ot. Tehát valóban a többi wait* fv. az, amelyik lecsonkolja az exit kódot. Így méginkább igaz, hogy a main fv.-nek semmi köze a csonkoláshoz, ez nem az ő speciális viselkedése.„Kétségtelen, hogy nem tudjuk, mit tegyünk, de felkészültek és elszántak vagyunk.” - Olaf Scholz német kancellár
Új hozzászólás Aktív témák
- Kerékpárosok, bringások ide!
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Autós topik látogatók beszélgetős, offolós topikja
- Windows 10
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- OpenMediaVault
- Autós topik
- Nem indul és mi a baja a gépemnek topik
- HiFi műszaki szemmel - sztereó hangrendszerek
- EAFC 24
- További aktív témák...
- Gamer Konfig - MSI-Z590, Intel i5 11600 KF, 1 TB SSD, 32 GB DDR4 3200 MHz, EVGA RTX 2070 8 GB
- Gamer PC- RX580, Ryzen5 3600, 16 GB DDR4 RAM, 512 GB HDD, 240 GB SSD
- TC Helicon GO XLR Podcast keverő hangkártya - Számla + Gari, Ár alatt! BeszámítOK!
- Apple iPad Pro 12.9 M1 256GB új állapotban 16 hónap garanciával
- Gaming PC , i7 7700K , RTX 2080 Ti , 32GB DDR4 , 512GB NVME , 1TB HDD