www.mikrocontroller.net

Forum: PC-Programmierung Thread in anderem C-file starten


Autor: Hille (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Hille (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: kernighan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.