Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
pthread_create ->

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - C
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
pcAlko



Anmeldungsdatum: 14.05.2007
Beiträge: 70

BeitragVerfasst am: 10. Jun 2007 18:17   Titel: pthread_create ->

Hallo liebe Community!

das mit dem Googlen wird mir jetzt langsam zu blöd! Confused
Ich hoffe dass mir jemand von euch weiterhelfen kann!

überall lese ich dass ich einen neuen thread so erzeuge:
Code:

#include <pthread.h>

void *mythread(void *args)
{
                 ....
}

int main()
{
    pthread_t thread;
    pthread_create(&thread, NULL, mythread, NULL);
}


bei mir bringt der gcc compiler sowie der g++ compiler
beim linken den Fehler:
"undefined reference to `pthread_create'"

hat jemand ne Ahnung was ich da falsch mache?
oder muss ich irgend eine Bibliothek dazu linken?
in den manpages habe ich nichts davon gelesen.
und es wird auch in keinem tutorial das ich ergoogelt habe erwähnt!

Bitte um Hilfe:

Cool pcAlko
 
Benutzer-Profile anzeigen Private Nachricht senden

sesame
Gast





BeitragVerfasst am: 10. Jun 2007 20:01   Titel:

vielleicht hilft dir folgendes aus meinem buch:

[code]
#include <process.h>
#include <stdio.h>

void funktion(void *dummy) {
...
_endthread();
}

void main() {
...
_beginthread(funktion, 0, NULL);
// durch '0' wird gleiche Stackgöße wie für Hauptthread benutzt.
...
}
[code]
[/code]
 

Lateralus
prolinux-forum-admin


Anmeldungsdatum: 05.05.2004
Beiträge: 1238

BeitragVerfasst am: 11. Jun 2007 10:01   Titel:

Versuch den Compiler mit der Option "-lpthread" laufen zu lassen, damit gegen diese Bibliotheken gelinkt wird - das sollte auch in den Handbuchseiten stehen.
 
Benutzer-Profile anzeigen Private Nachricht senden

pcAlko



Anmeldungsdatum: 14.05.2007
Beiträge: 70

BeitragVerfasst am: 27. Jun 2007 19:30   Titel:

Danke Lateralus!
das hat das Problem gelöst.

was meinst Du mit Handbuchseiten?
kannst Du mir ein gutes Buch empfehlen dass hauptsächlich auf den GCC Compiler abziehlt?
Ich muss mir sowas unbedingt einmal zulegen.
Im Internet findet man einfach nicht alles.
zur Zeit schlage ich mich gerade mit dem map Container herum
finde kein Tutorial das sich mit dem beschäftigt.
 
Benutzer-Profile anzeigen Private Nachricht senden

Lateralus
prolinux-forum-admin


Anmeldungsdatum: 05.05.2004
Beiträge: 1238

BeitragVerfasst am: 29. Jun 2007 18:22   Titel:

Code:
man man


erzählt dir, was Handbuchseiten sind. Es gibt zu den meisten (wenn nicht allen) C-Funktionen Handbuchseiten, einfach mal mit "apropos NAME" nach den entsprechenden Handbuchseiten suchen und dir anschauen. Manchmal steht drin, wie du das ganze linken musst. Allgemein musst du fast alles linken. (Ich denke, das war früher anders und habe nicht genug Ahnung von Compilern oder dem GCC, als das ich erklären könnte, warum.)
Allgemein gibt es aber zu jeder include-Datei NAME.h in /usr/include eine Bibliothek libNAME.a, welche in /usr/lib zu finden ist. Der eigentliche Code steht dort drin. Um also Funktionen zu finden, musst du dem gcc mitteilen, dass du gegen eine entsprechende Bibliothek linken willst. (-lpthread)

Weiter kann ich dir leider nicht helfen... Ein Buch zum GCC ist vielleicht nicht das, was du suchst - bei anderen Compilern ist das, glaube ich, ähnlich.
 
Benutzer-Profile anzeigen Private Nachricht senden

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - C Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy