/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
"Child"-proces under Windows
Fra : Claus


Dato : 28-04-03 18:40

Hej NG

Jeg har tidligere programmeret c under UNIX, men skal nu lave i Windows.
Derfor fandt jeg en compiler (Dev-c++ http://www.bloodshed.net/devcpp.html),
som er bygget på gcc og g++.

Under UNIX, havde jeg mulighed for at oprette en "child"-proces og bruge
kommandoen pipe() til at kommunikere mellem processerne. Jeg har ledt efter
en lignende funktion til Dev-c++ uden held. Generelt har jeg heller ikke set
lignende funktioner til andre Windows-compilere, kan det passe? og i så fald
hvilke...?

Under UNIX brugte jeg kommandoen fork() til at lave en "child"-proces, men
så vidt jeg husker kørte processerne ikke parallelt, men den ene ventede på
at den anden blev færdig. Har man mulighed for at køre to processer helt
parallelt og samtidig få dem til at kommunikere med hinanden?

Hilsen Claus



 
 
Bertel Brander (28-04-2003)
Kommentar
Fra : Bertel Brander


Dato : 28-04-03 23:01

Claus skrev:
> Hej NG
>
> Jeg har tidligere programmeret c under UNIX, men skal nu lave i Windows.
> Derfor fandt jeg en compiler (Dev-c++ http://www.bloodshed.net/devcpp.html),
> som er bygget på gcc og g++.
>
> Under UNIX, havde jeg mulighed for at oprette en "child"-proces og bruge
> kommandoen pipe() til at kommunikere mellem processerne. Jeg har ledt efter
> en lignende funktion til Dev-c++ uden held. Generelt har jeg heller ikke set
> lignende funktioner til andre Windows-compilere, kan det passe? og i så fald
> hvilke...?
>
> Under UNIX brugte jeg kommandoen fork() til at lave en "child"-proces, men
> så vidt jeg husker kørte processerne ikke parallelt, men den ene ventede på
> at den anden blev færdig. Har man mulighed for at køre to processer helt
> parallelt og samtidig få dem til at kommunikere med hinanden?
>
Jeg kender ikke Dev-C++, men cygwin (en anden udgave af gcc til windows
(www.cygwin.com)) definerer både fork og pipe (i unistd.h), jeg har dog
en mistanke om at de ikke er implementeret

Cygwin give dig muglighed for at bruge win32api, her findes der
funktioner for at lave tråde (fork) med CreateThread(), det pipe gør i
et Unix miljø kan opnås med CreateFile().

Cygwin har en headerfil der hedder pthread.h, i denne er posix thread
funktioner defineret, disse er de samme som bruges på Unix (og Linux).
Sidst jeg checkede var disse ikke implementerede


/b

--
Bertel Brander, Author of Wain, a free text editor for programmers:
http://home20.inet.tele.dk/midgaard/program.htm


Rasmus Christian Kaa~ (01-05-2003)
Kommentar
Fra : Rasmus Christian Kaa~


Dato : 01-05-03 08:29

"Claus" <acion@adslhome.dk> wrote in message
news:3ead6753$0$31987$edfadb0f@dread12.news.tele.dk...
> Hej NG
>
> Jeg har tidligere programmeret c under UNIX, men skal nu lave i Windows.
> Derfor fandt jeg en compiler (Dev-c++
http://www.bloodshed.net/devcpp.html),
> som er bygget på gcc og g++.
>
> Under UNIX, havde jeg mulighed for at oprette en "child"-proces og bruge
> kommandoen pipe() til at kommunikere mellem processerne. Jeg har ledt
efter
> en lignende funktion til Dev-c++ uden held. Generelt har jeg heller ikke
set
> lignende funktioner til andre Windows-compilere, kan det passe? og i så
fald
> hvilke...?
>
> Under UNIX brugte jeg kommandoen fork() til at lave en "child"-proces, men
> så vidt jeg husker kørte processerne ikke parallelt, men den ene ventede

> at den anden blev færdig. Har man mulighed for at køre to processer helt
> parallelt og samtidig få dem til at kommunikere med hinanden?


Jeg bruger selv MSVC og derfor CreateThread istedet for fork. Til at
kommunikere mellem forskellige tråde plejer jeg at lave en art messaging -
det plejer at være ganske fordelagtigt.



Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408193
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste