Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

καλησπερα σε ολους,

 

εχω τον εξης κωδικα:

 

 

 

 

#include <pthread.h>

#include <stdio.h>

#define NUM_THREADS 5





void *PrintHello(void *threadid) {

    long tid;

    tid = (long) threadid;

    printf("Hello World! It's me, thread #%ld!\n", tid);

    pthread_exit(NULL);

}



int main(int argc, char *argv[]) {

    pthreadthreads[NUM_THREADS];

            int rc;

    long t;

    for (t = 0; t < NUM_THREADS; t++) {

        printf("In main: creating thread %ld\n", t);

        rc = pthread_create(&threads[t], NULL, PrintHello, (void *) t);

        if (rc) {

            printf("ERROR; return code from pthread_create() is %d\n", rc);

            exit(-1);

        }

    }

    pthread_exit(NULL);

}

 

 

 

και χρησιμοποιω linux. μεσω terminal θελω να κανω το compile αυτου του προγραμματος οποτε και εκτελω

 

kostas@localhost:~/Desktop/threads$ gcc -o fthread.c -lpthread

ομως δεν γινεται compile και προκυπτει το εξης:

kostas@localhost:~/Desktop/threads$gcc -o fthread.c -lpthread

/usr/lib/gcc/i686-linux-gnu/4.6/../../../i386-linux-gnu/crt1.o: In function `_start':

(.text+0x18): undefined reference to `main'

collect2: ld returned 1 exit status

ενω μου διαγραφει το αρχειο fthread.c !!

 

μπορειτε να φανταστειτε τί πηγαινει στραβα?

καθε βοηθεια ευπροσδεκτη,ευχαριστω εκ των προτερων

 

Δημοσ.

τωρα μου πεταει κι errors..:

 

kostas@localhost:~/Desktop/threads$ gcc fthread.c -o fthread -lpthread
fthread.c: In function ‘main’:
fthread.c:14:5: error: ‘pthreadthreads’ undeclared (first use in this function)
fthread.c:14:5: note: each undeclared identifier is reported only once for each function it appears in
fthread.c:19:30: error: ‘threads’ undeclared (first use in this function)
fthread.c:22:13: warning: incompatible implicit declaration of built-in function ‘exit’ [enabled by default]
Δημοσ.

Δεν ορίζεις τον τύπο του πίνακα:

pthreadthreads[NUM_THREADS];

Το ίδιο και το threads[] που εμφανίζεται εδώ

rc = pthread_create(&threads[t], NULL, PrintHello, (void *) t);
Δημοσ.

 

Δεν ορίζεις τον τύπο του πίνακα:

pthreadthreads[NUM_THREADS];

Το ίδιο και το threads[] που εμφανίζεται εδώ

rc = pthread_create(&threads[t], NULL, PrintHello, (void *) t);

αυτα δεν υποτιθεται οτι ειναι ορισμενα μεσα στην pthread.h ??

update: οταν τα ορισα παντως μετα ηταν ολα οκ. ευχαριστωωω :)

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...