Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

execvp() radi u Windows-u?

[es] :: C/C++ programiranje :: execvp() radi u Windows-u?

[ Pregleda: 2084 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

djura1

Član broj: 16156
Poruke: 111
*.dynamic.isp.telekom.rs.



+3 Profil

icon execvp() radi u Windows-u?13.07.2011. u 07:30 - pre 154 meseci
Jedno možda glupo pitanje, ali ovo me zbunjuje...
Napravio sam mali program u C++ koji pokreće eksterni proces. Razvio sam ga na linuxu, i koristim execvp() za pokretanje pomenutog procesa.
Sad, hteo sam da ga prepravim da radi i na Windows-u, i spremio sam se na mnogo cimanja, ali samo sam ga iskompajlirao i sve radi OK. I to mi nije jasno .
Mislio sam da je execvp() Unix funkcija i da na Win-u treba da koristim CreateProcess(). Čini mi se da sam negde čuo da je Windows 7 POSIX kompatibilan, pa možda zbog toga radi? I ako je tako, da li bi radilo na Vista/XP/nekom starijem Windows-u?
Šta bi mi bilo bolja opcija, da ostavim kako jeste, ili da prepravim koristeći CreateProcess()?
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
89.216.32.*



+2789 Profil

icon Re: execvp() radi u Windows-u?13.07.2011. u 09:06 - pre 154 meseci
Proizvođač kompajlera se trudi da programeru ponudi što više. Naravno da će da isporuči POSIX funkcije ako ih je moguće implementirati, ako proceni da će na taj način biti konkurentniji. Probaj sa druge strane da koristiš fork() funkciju pod Windows-om. Neće moći ni sa jednim kompajlerom, zato što Windows kernel jednostavno nema tu mogućnost.

Zaključak: implementiranje standardnih funkcija ne treba da bude nikakvo iznenađenje.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

djura1

Član broj: 16156
Poruke: 111
*.dynamic.isp.telekom.rs.



+3 Profil

icon Re: execvp() radi u Windows-u?13.07.2011. u 11:07 - pre 154 meseci
Hoćeš da kažeš da je funkcija implementirana u standardnoj biblioteci? Ja sam mislio da je specifična za Linux kernel.
Još jedno pitanje: ako program statički linkujem, on bi trebalo da radi na svakom Windows-u koji je podržan od strane kompajlera (mingw32 u ovom slučaju). Jesam li u pravu?
 
Odgovor na temu

kiklop74
Darko Miletić
Buenos Aires

Član broj: 78422
Poruke: 569
*.telecentro-reversos.com.ar.

Sajt: ar.linkedin.com/pub/darko..


+13 Profil

icon Re: execvp() radi u Windows-u?14.07.2011. u 02:28 - pre 154 meseci
Ono sto je garantovano portabilno u C-u je komanda system.

http://www.cplusplus.com/reference/clibrary/cstdlib/system/

Tko leti vrijedi
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
89.216.32.*



+2789 Profil

icon Re: execvp() radi u Windows-u?14.07.2011. u 07:26 - pre 154 meseci
Citat:
djura1: Još jedno pitanje: ako program statički linkujem, on bi trebalo da radi na svakom Windows-u koji je podržan od strane kompajlera (mingw32 u ovom slučaju) Jesam li u pravu?


Ne. Windows i Linux nisu binarno kompatibilni. Moraš program kompajlirati za sistem na kome će se izvršavati.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

djura1

Član broj: 16156
Poruke: 111
*.dynamic.isp.telekom.rs.



+3 Profil

icon Re: execvp() radi u Windows-u?14.07.2011. u 13:33 - pre 154 meseci
Naravno, to znam. Mislio sam, ako iskompajliram i statički linkujem program na Windows 7, da li će raditi na XP/2000 itd windowsu. U pitanju je mingw32 kompajler za Windows.
Ali dobro, ukapirao sam. Hvala na pomoći.
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
*.3gnet.mts.telekom.rs.



+2789 Profil

icon Re: execvp() radi u Windows-u?14.07.2011. u 17:07 - pre 154 meseci
Različite verzije Windows-a su u najvećoj meri binarno kompatibilne, ali ne 100%. Tvoj program će najverovatnije raditi na svim verzijama Windows-a, recimo počev od verzije 2000, ali da bi u to bio siguran, to treba isprobati.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

[es] :: C/C++ programiranje :: execvp() radi u Windows-u?

[ Pregleda: 2084 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.