koslibpro Δημοσ. 18 Απριλίου 2013 Δημοσ. 18 Απριλίου 2013 καλησπερα σε ολους, εχω τον εξης κωδικα: #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 !! μπορειτε να φανταστειτε τί πηγαινει στραβα? καθε βοηθεια ευπροσδεκτη,ευχαριστω εκ των προτερων
javavall Δημοσ. 18 Απριλίου 2013 Δημοσ. 18 Απριλίου 2013 Για δοκίμασε έτσι: kostas@localhost:~/Desktop/threads$ gcc fthread.c -o fthread -lpthread
koslibpro Δημοσ. 18 Απριλίου 2013 Μέλος Δημοσ. 18 Απριλίου 2013 τωρα μου πεταει κι 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]
bird Δημοσ. 18 Απριλίου 2013 Δημοσ. 18 Απριλίου 2013 Δεν ορίζεις τον τύπο του πίνακα: pthreadthreads[NUM_THREADS]; Το ίδιο και το threads[] που εμφανίζεται εδώ rc = pthread_create(&threads[t], NULL, PrintHello, (void *) t);
koslibpro Δημοσ. 18 Απριλίου 2013 Μέλος Δημοσ. 18 Απριλίου 2013 Δεν ορίζεις τον τύπο του πίνακα: pthreadthreads[NUM_THREADS]; Το ίδιο και το threads[] που εμφανίζεται εδώ rc = pthread_create(&threads[t], NULL, PrintHello, (void *) t); αυτα δεν υποτιθεται οτι ειναι ορισμενα μεσα στην pthread.h ?? update: οταν τα ορισα παντως μετα ηταν ολα οκ. ευχαριστωωω
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα