|
| Process creation Fra : Michael Banzon |
Dato : 20-01-04 16:37 |
|
Hej ;-D
Jeg plejer at kode C under Linux, og anvender
i den forbindelse fork()... Det virker dog ikke
under Windows... ... ??? Hvad skal jeg bruge her?
Jeg bruger Bloodshed Dev-C++
--
Michael Banzon
http://michael.banzon.dk/
http://southbound.dk/
| |
Bertel Brander (20-01-2004)
| Kommentar Fra : Bertel Brander |
Dato : 20-01-04 19:54 |
|
Michael Banzon wrote:
> Hej ;-D
>
> Jeg plejer at kode C under Linux, og anvender
> i den forbindelse fork()... Det virker dog ikke
> under Windows... ... ??? Hvad skal jeg bruge her?
>
system(), popen(), CreateProcess(), ShellExecute() eller ...
> Jeg bruger Bloodshed Dev-C++
>
Dev-C++ er ikke en kompiler, det en editor mv.
Jeg går ud fra at du bruger mingw.
/b
| |
Michael Banzon (20-01-2004)
| Kommentar Fra : Michael Banzon |
Dato : 20-01-04 17:13 |
|
"Bertel Brander" <bertel@post4.tele.dk> skrev...
> system(), popen(), CreateProcess(), ShellExecute() eller ...
Ok, tak, kan du komme med et eksempel på brugen?
> > Jeg bruger Bloodshed Dev-C++
> >
>
> Dev-C++ er ikke en kompiler, det en editor mv.
> Jeg går ud fra at du bruger mingw.
Jaja ;-D
Har blot downloaded standardversionen, den bruger vidst gcc
og glib (hvilket jo lød tiltalende)...
--
Michael Banzon
http://michael.banzon.dk/
http://southbound.dk/
| |
Michael Banzon (20-01-2004)
| Kommentar Fra : Michael Banzon |
Dato : 20-01-04 17:18 |
| | |
Bertel Brander (20-01-2004)
| Kommentar Fra : Bertel Brander |
Dato : 20-01-04 20:36 |
|
Michael Banzon wrote:
> "Bertel Brander" <bertel@post4.tele.dk> skrev...
>
>>system(), popen(), CreateProcess(), ShellExecute() eller ...
>
>
> Ok, tak, kan du komme med et eksempel på brugen?
>
Hvis du fortalte lidt mere om hvad du vil opnå, kan
jeg lave et bedre eksempel, end hvis jeg blot gætter.
>
>>>Jeg bruger Bloodshed Dev-C++
>>>
>>
>>Dev-C++ er ikke en kompiler, det en editor mv.
>>Jeg går ud fra at du bruger mingw.
>
>
> Jaja ;-D
> Har blot downloaded standardversionen, den bruger vidst gcc
> og glib (hvilket jo lød tiltalende)...
Standard versionen bruger vist mingw varianten af gcc
/b
| |
Michael Banzon (20-01-2004)
| Kommentar Fra : Michael Banzon |
Dato : 20-01-04 17:52 |
|
"Bertel Brander" <bertel@post4.tele.dk> skrev...
> Hvis du fortalte lidt mere om hvad du vil opnå, kan
> jeg lave et bedre eksempel, end hvis jeg blot gætter.
Umiddelbart skal jeg ha' kode der bruger fork() til at fungere
under Windows. Jeg har lige søgt i Google ;-D og fork() er jo
en posix-funktion, så direkte portning er nok ikke mulig,
eller? Sidder lige og kigger på CreateProcess på MSDN, og det
virker umiddelbart lidt mere besværligt end med fork()...
Det som jeg egentlig vil ha', er en funktion der gør som
fork() (eller næsten), og så noget dokumentation til denne ;-D
> Standard versionen bruger vist mingw varianten af gcc
true
--
Michael Banzon
http://michael.banzon.dk/
http://southbound.dk/
| |
Jens Axel Søgaard (20-01-2004)
| Kommentar Fra : Jens Axel Søgaard |
Dato : 20-01-04 20:56 |
|
Michael Banzon wrote:
> "Bertel Brander" <bertel@post4.tele.dk> skrev...
>>Hvis du fortalte lidt mere om hvad du vil opnå, kan
>>jeg lave et bedre eksempel, end hvis jeg blot gætter.
> Umiddelbart skal jeg ha' kode der bruger fork() til at fungere
> under Windows. Jeg har lige søgt i Google ;-D og fork() er jo
> en posix-funktion, så direkte portning er nok ikke mulig,
> eller?
Det ved jeg ikke, men afhængig af det drejer sig om,
kan det måske betale sig at kigge på Cygwin.
< http://www.cygwin.com/>
--
Jens Axel Søgaard
| |
Bertel Brander (20-01-2004)
| Kommentar Fra : Bertel Brander |
Dato : 20-01-04 21:18 |
|
Jens Axel Søgaard wrote:
> Michael Banzon wrote:
>> Umiddelbart skal jeg ha' kode der bruger fork() til at fungere
>> under Windows. Jeg har lige søgt i Google ;-D og fork() er jo
>> en posix-funktion, så direkte portning er nok ikke mulig,
>> eller?
>
>
> Det ved jeg ikke, men afhængig af det drejer sig om,
> kan det måske betale sig at kigge på Cygwin.
>
> < http://www.cygwin.com/>
>
Ifølge http://cygwin.com/faq.html har cygwin en implementation
af fork().
cygwin kan bruges sammen med Dev-C++
/b
| |
Bertel Brander (20-01-2004)
| Kommentar Fra : Bertel Brander |
Dato : 20-01-04 21:03 |
|
Michael Banzon wrote:
> "Bertel Brander" <bertel@post4.tele.dk> skrev...
>
>>Hvis du fortalte lidt mere om hvad du vil opnå, kan
>>jeg lave et bedre eksempel, end hvis jeg blot gætter.
>
>
> Umiddelbart skal jeg ha' kode der bruger fork() til at fungere
> under Windows. Jeg har lige søgt i Google ;-D og fork() er jo
> en posix-funktion, så direkte portning er nok ikke mulig,
> eller? Sidder lige og kigger på CreateProcess på MSDN, og det
> virker umiddelbart lidt mere besværligt end med fork()...
>
> Det som jeg egentlig vil ha', er en funktion der gør som
> fork() (eller næsten), og så noget dokumentation til denne ;-D
>
CreateProcess() er nok funktion der kan mest, men er, som du
kan se, også lidt besværlig at bruge.
Jeg tror at grunden til at der ikke findes en fork() til windows
er at det ikke er muligt at lave en funktion der gør nøjagtigt
det samme.
Så, fortæl hvad du skal bruge den til...
/b
PS: Du skal vist have stillet uret på din komputer.
| |
Ole Nielsby (21-01-2004)
| Kommentar Fra : Ole Nielsby |
Dato : 21-01-04 00:40 |
|
Bertel Brander <bertel@post4.tele.dk> skrev:
> Michael Banzon wrote:
> > Hej ;-D
> >
> > Jeg plejer at kode C under Linux, og anvender
> > i den forbindelse fork()... Det virker dog ikke
> > under Windows... ... ??? Hvad skal jeg bruge her?
> >
>
> system(), popen(), CreateProcess(), ShellExecute() eller ...
Jeg lugter en kommunikationsbrist her. Det som Michael kalder
en proces, er muligvis det der i Windows-termer kaldes en tråd.
Tråde hører til en proces og deles om dennes adresserum, mens
processer er isoleret fra hinanden.
Jeg ved ikke hvordan fork() virker, men Windows tråde startes
med CreateThread og synkroniseres efter behov med events,
critical sections eller mutexes, eller gennem message passing-
mekanismen.
ON/Fjern sneglen fra min svaradresse
| |
Michael Banzon (22-01-2004)
| Kommentar Fra : Michael Banzon |
Dato : 22-01-04 00:49 |
|
"Ole Nielsby" <ole.nielsby@snailmail.dk> skrev...
> Jeg lugter en kommunikationsbrist her. Det som Michael kalder
> en proces, er muligvis det der i Windows-termer kaldes en tråd.
Nej ;-D Det er ikke tilfældet...
> Jeg ved ikke hvordan fork() virker, men Windows tråde startes
> med CreateThread og synkroniseres efter behov med events,
> critical sections eller mutexes, eller gennem message passing-
> mekanismen.
Det der er problemet er at jeg kun har beskæftiget mig med C
under Linux, og fået undervisning i dette... Problemet består
så i at Linux er POSIX, hvilket ikke er tilfældet for Windows.
Jeg søger ikke nogen specifik løsning på nogle specifikke
problemer, blot en forståelse for hvordan at man "ordner"
det der "process-halløj" på en Windows-box ;-D
Igennem gruppen her er jeg blevet ledt på sporet, og har så
igennem Google og MSDN fundet svaret, og vil i den forbindelse
også sige tak for svarene ;-D
Og for så lige at svare Hr. Søgaards indlæg: Jeg har ved en
tidligere lejlighed kigget på Cygwin, og kan ikke rigtig se
hvad det skal gøre godt for. Jotak, at ligne et Linux-miljø
kan det, men kan de programmer jeg udvikler med det køre
selvstændigt???
Ps: Til de der ikke ved det:
fork() er et system-kald under Linux (POSIX) der kopierer den
givne process, med adresserum, ip, osv., og fortsætter
udførelsen i begge kopier af den originale process...
(ret mig endelig hvis jeg har misforstået noget ;-D)
--
Michael Banzon
http://michael.banzon.dk/
http://southbound.dk/
| |
Anders Bo Rasmussen (22-01-2004)
| Kommentar Fra : Anders Bo Rasmussen |
Dato : 22-01-04 02:31 |
|
On Thu, 22 Jan 2004 00:49:25 +0100 Michael Banzon wrote:
> Ps: Til de der ikke ved det:
> fork() er et system-kald under Linux (POSIX) der kopierer den
> givne process, med adresserum, ip, osv., og fortsætter
> udførelsen i begge kopier af den originale process...
> (ret mig endelig hvis jeg har misforstået noget ;-D)
På Linux er den implementeret, så lageret først bliver kopieret
efterhånden som der skrives til det.
--
Vil du gerne kunne afspille de CDere du køber?
http://www.digitalforbruger.dk/
| |
Leo Havmøller (22-01-2004)
| Kommentar Fra : Leo Havmøller |
Dato : 22-01-04 07:29 |
| | |
|
|