Visualizzazione dei risultati da 1 a 6 su 6

Discussione: [C] Thread in Linux

  1. #1

    [c] problema thread LINUX

    ciao sto compilando una tesina per sistemi operativi, da consegnare tra l'altro domani!
    sto bloccato perche non riesco a far funzionare i thread in linux con il compilator gcc, mi da un errore del tipo:

    /tmp/ccpbhioe.o(.text+0x195):in Function 'main': undefined reference to 'pthread_create'

    io credo che sia duvuto al fatto che la versione di linux non supporta i thread , ma ho anche provato
    a compilarlo sulla versione live di knoppix ma mi da sempre lo stesso errore

    ecco il codice: come include metto

    #include <sys/types.h>
    #include <sys/ipc.h>
    #include <sys/sem.h>
    #include <stdio.h>
    #include <pthread.h>
    #include <time.h>
    #include <unistd.h>
    #include <fcntl.h>
    #define Errore_(x) { puts(x); exit(1); }
    #define KEY_SERVER 40
    #define mainfile "mainfile"
    #define key_sem1 50
    #define key_sem2 51
    #define num_client 10

    ed il codice dove creo i thread è:

    ...

    if (type == 1 || type == 3) {
    ris = pthread_create(&tid, NULL, visualizza,(void*) &richiesta);
    if (ris != 0)
    Errore_("Errore nella crezione del thread\n");
    }
    else if (type == 2) {
    ris = pthread_create(&tid, NULL, scrivi, (void*) &richiesta);
    if (ris != 0)
    Errore_("Errore nella crezione del thread\n");

    ...






    la funzione lanciata nel thread è:





    ...

    void * visualizza(void* richiesta) {

    int ris;
    struct sembuf oper;

    ric_servizio ric_aux;
    memcpy (&ric_aux, &richiesta, sizeof(ric_servizio));
    ...








    per favore aiutatemi!se volete vi mando o vi posto tutto il codice sorgente.

    grazie davvero a chiunque mi aiuti

    aspetto vostre risposte

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Hai usato lo switch

    -lpthread

    per la compilazione del tuo programma?

  3. #3
    no. quindi il comando completo per la compilazione come è?

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Aggiungi lo switch al comando che usi

  5. #5
    Utente di HTML.it L'avatar di ibykos
    Registrato dal
    Feb 2005
    Messaggi
    201
    Potresti compilare con questa stringa di comando:

    gcc sorgente.c -o eseguibile -Wall -lpthread

  6. #6
    Originariamente inviato da shopbazar
    no. quindi il comando completo per la compilazione come è?
    http://forum.html.it/forum/showthrea...ad#post6818734

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.