Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - fork in windows
Forum - C/C++ - fork in windows

Pagine: [ 1 2 3 ] Precedente | Prossimo
Avatar
andreamica (Ex-Member)
Rookie


Messaggi: 24
Iscritto: 25/02/2007

Segnala al moderatore
Postato alle 15:31
Lunedì, 29/10/2007
ciao a tutti, devo fare un programma che crea un processo figlio. Pensavo di utilizzare la funzione fork ma questa non funziona. Mi appare il seguente messaggio di errore: [Linker error] undefined reference to 'fork'.
Esiste una funzione alternativa.
Io programmo con Dev-Cpp sotto Windows XP

PM Quote
Avatar
WARRIOR (Ex-Member)
Guru


Messaggi: 627
Iscritto: 30/03/2007

Segnala al moderatore
Postato alle 21:04
Lunedì, 29/10/2007
Se devi creare un thread utilizza l'API CreateThread().

:k:


Continuerò a correre, perchè ci sarà sempre qualcuno migliore di me.

Evvia i libri, evitate gli stolti che non li integrano nella loro vita.

http://www.mentisferiche.it

Luca Tedesco
PM Quote
Avatar
andreamica (Ex-Member)
Rookie


Messaggi: 24
Iscritto: 25/02/2007

Segnala al moderatore
Postato alle 21:31
Lunedì, 29/10/2007
ho provato ma mi da lo stesso errore che mi dava usando la fork. Devo fare un programma che crea questo processo figlio che lancia in esecuzione un'altro programma.

PM Quote
Avatar
WARRIOR (Ex-Member)
Guru


Messaggi: 627
Iscritto: 30/03/2007

Segnala al moderatore
Postato alle 21:13
Giovedì, 01/11/2007
Posta il codice sorgente del programma, così possiamo vedere di correggere l'errore. Nella sezione articoli C++, c'è una mini guida su come creare un thread figlio. :k:


Continuerò a correre, perchè ci sarà sempre qualcuno migliore di me.

Evvia i libri, evitate gli stolti che non li integrano nella loro vita.

http://www.mentisferiche.it

Luca Tedesco
PM Quote
Avatar
andreamica (Ex-Member)
Rookie


Messaggi: 24
Iscritto: 25/02/2007

Segnala al moderatore
Postato alle 11:44
Venerdì, 02/11/2007
mi sono dimenticato di dirti che io programmo in C e non in C++. La funzione va bene lo stesso?

PM Quote
Avatar
WARRIOR (Ex-Member)
Guru


Messaggi: 627
Iscritto: 30/03/2007

Segnala al moderatore
Postato alle 12:58
Venerdì, 02/11/2007
Le API sono funzioni del sistema operativo Windows, nn sono proprie del C++, quindi va bene anche per il C. :k:

P.S.
Devi includere l'header windows.h


Continuerò a correre, perchè ci sarà sempre qualcuno migliore di me.

Evvia i libri, evitate gli stolti che non li integrano nella loro vita.

http://www.mentisferiche.it

Luca Tedesco
PM Quote
Avatar
andreamica (Ex-Member)
Rookie


Messaggi: 24
Iscritto: 25/02/2007

Segnala al moderatore
Postato alle 14:20
Venerdì, 02/11/2007
Ecco un pezzo del codice:

{
printf ("\nN.B. Per la corretta installazione di tutti i driver spuntare sempre la casella \"Riavviare il computer in un secondo momento\" alla fine del processo\nd'installazione di ogni singolo driver. Premi Enter per iniziare l'installazione.");
     fgets (Vuoto,2,stdin);
    
     CreateThread();
     printf ("\nProcesso figlio");
    
     printf ("\nAncora nel padre");

     return;

}

PM Quote
Avatar
WARRIOR (Ex-Member)
Guru


Messaggi: 627
Iscritto: 30/03/2007

Segnala al moderatore
Postato alle 19:26
Venerdì, 02/11/2007
Testo quotato

Postato originariamente da andreamica:

Ecco un pezzo del codice:

{
printf ("\nN.B. Per la corretta installazione di tutti i driver spuntare sempre la casella \"Riavviare il computer in un secondo momento\" alla fine del processo\nd'installazione di ogni singolo driver. Premi Enter per iniziare l'installazione.");
     fgets (Vuoto,2,stdin);
    
     CreateThread();
     printf ("\nProcesso figlio");
    
     printf ("\nAncora nel padre");

     return;

}



Non funziona in quel modo ;).

Codice sorgente - presumibilmente C/C++

  1. DWORD CodiceFiglio();
  2.  
  3. DWORD CodiceFiglio() {
  4. //Codice figlio
  5. }
  6.  
  7. int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmdLine, int nCmdShow) {
  8.  
  9. DWORD dwThreadId;
  10. DWORD dwThrdParam = 1;
  11. HANDLE thread;
  12.  
  13. thread =  CreateThread(NULL, 0,(LPTHREAD_START_ROUTINE)CodiceFiglio, &dwThrdParam, 0, &dwThreadId);
  14.  
  15. return 0;
  16. }



:k:


Continuerò a correre, perchè ci sarà sempre qualcuno migliore di me.

Evvia i libri, evitate gli stolti che non li integrano nella loro vita.

http://www.mentisferiche.it

Luca Tedesco
PM Quote
Avatar
andreamica (Ex-Member)
Rookie


Messaggi: 24
Iscritto: 25/02/2007

Segnala al moderatore
Postato alle 10:33
Sabato, 03/11/2007
come faccio a sapere qual'è il padre e quale il figlio?
ad esempio la fork ritornava 0 ke significava ke ero nel padre ed un numero diverso da 0 se ero nel figlio.
Questa funzione cosa ritorna?

PM Quote
Pagine: [ 1 2 3 ] Precedente | Prossimo