Hallo zusammen, ich denke ich habe eine ganz blöde Frage. Aber ich frag sie mal trotzdem. Ich habe ein Thread in der datei x.c geschrieben, möchte diesen aber in der Datei xy.c starten. Ist das überhaupt möglich? Und wenn, wie ist das möglich. Vielen Dank für eure Hilfe. Gruß Hille
ein Thread wird nie in einer Datei gestartet, er wird immer in einem Programm gestartet und das ist meist eine Ausführbare datei. Bitte mal eine etwas genaue beschreibung.
Also. ich habe ein C-File x.c und ein c-File xy.c. In den x.c file ist ein Thread schrieben. #include <cvf.h> THREAD (clock,arg){ code { main Jetzt möchte ich den Thread nicht über die Main methode aufrufen sonder in dem xy.c file. Ist das über ein header file möglich?
Stell dir vor, du wärst der Compiler der xy.c Datei. Beim Compilieren will der Ersteller der xy.c datei den Thread starten, ohne dass du irgendetwas über den Thread weist, also schmeisst du eine Fehlermeldung. Als schreiber der xy.c Datei musst du den Compiler dazu bringen den Thread zu kennen. Dann kann der Linker hinterher den THREAD mit in die exe/hex/elf...... einbauen. Kernighan
Hille wrote:
> ich denke ich habe eine ganz blöde Frage.
Ja stimmt, da muß ich Dir uneingeschränkt recht geben.
In der Codesammlung sind Fragen, die sich nicht auf das Codebeispiel
beziehen, wirklich ganz blöd.
Ich vermute mal, die Frage gehört in die Rubrik PC-Programmierung.
Peter
Peter Dannegger wrote: > Hille wrote: >> ich denke ich habe eine ganz blöde Frage. > > Ja stimmt, da muß ich Dir uneingeschränkt recht geben. > > In der Codesammlung sind Fragen, die sich nicht auf das Codebeispiel > beziehen, wirklich ganz blöd. > > Ich vermute mal, die Frage gehört in die Rubrik PC-Programmierung. Schwer zu sagen. Aber ich schiebs mal dorthin
> Also. ich habe ein C-File x.c und ein c-File xy.c. Schön, sowas gibt es häufiger. > In den x.c file ist ein Thread schrieben. > #include <cvf.h> > > THREAD (clock,arg){ > > code > { > > main Was was soll das sein? Hä? > Jetzt möchte ich den Thread nicht über die Main methode > aufrufen sonder in dem xy.c file. > Ist das über ein header file möglich? Normalerweise gibt es eine Funktion, die in einem Thread ausgeführt wird. Je nach verwendeten Betriebssystem gibt es wiederum eine Funktion, die einen Thread erzeugt, und der wiederum wird ein Pointer auf die im erzeugten Thread auszuführende Funktion übergeben. Steht die Funktion in einer anderen translation unit als der Aufruf der Funktion zur Threaderzeugung, so ist die Funktion mit einem Funktionsprototypen bekanntzugeben. Dieser wird praktischerweise in einer Headerdatei untergebracht, die in die translation unit einzubinden ist, in der die Funktion zur Threaderzeugung aufgerufen wird. Der Linker kümmert sich dann um den Rest. Aus Deinem "Codeschnipsel", also diesem wirrem Geschreibsel da oben, kann ich aber nichts ableiten, das erkennen lässt, was Du da eigentlich vorhast oder was für eine Art Betriebssystem Du verwendest. Methoden übrigens gibt es in C nicht.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.