Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo!

Ich bin ein ziemlicher C++ Anfänger, aber tue mein bestes um schnell zu lernen :)

Nun will/wollte/hab ich ein Programm geschrieben das mehrere Endlos Schleifen braucht, mir wurde von Freunden aus dem IRC dabei geholfen die meinten ich muss das ganze mit Threads machen etc. und nun sieht mein Programm ungefähr so aus:

Nopaste - No description

Allerdings bekomme ich diverse Errors, diese da wären:

error C2501: 'CreateThread' : missing storage-class or type specifiers

error C2373: 'CreateThread' : redefinition; different type modifiers

error C2078: too many initializers

Und desweiteren hab ich noch eine Frage, muss ich die Voids die ich dann habe ( Siehe Beispiel code oben ) Dann noch in int main aufrufen oder kann ich int main komplett weg lassen weil die durch das "Threading" gestartet werden?

Hab leider gar keine Ahnung von Threading, da die Tutorials dazu auch alle sehr kompliziert aussehen, hab diesen Codes eben nur von Freunden aus dem IRC ^_^

MfG, jeNova-

Geschrieben

CreateThread ist eine Funktion, die du aufrufen musst, um einen neuen Thread zu starten. Funktionsaufrufe dürfen aber nicht einfach so in der Quellcodedatei stehen, sondern müssen innerhalb von anderen Funktionen stehen, z.B. in main.

Eine Threadfunktion kann auch nicht jede beliebige Signatur haben - void(void) ist schon mal falsch. Eine Threadfunktion für CreateThread muss die Signatur DWORD(void*) haben. Die richtige Signatur erkennst du daran, dass du den Cast auf LPTHREAD_START_ROUTINE nicht brauchst.

Allerdings ist CreateThread generell keine gute Idee, wenn du vorhast, irgendwelche Funktionen der Standardbibliothek zu benutzen. In diesem Fall ist _beginthreadex die richtige Funktion. Hier muss die Threadfunktion void(void*) sein.

Ich weiß ja nicht, was für ein lustiges Programm du da schreiben willst/schreiben wolltest/geschrieben hast, aber ich habe den Eindruck, dass du dich da mächtig übernimmst. Vielleicht suchst du dir zunächst mal ein paar einfachere Aufgaben, als gleich mit Threads anzufangen. Das Thema hat es in sich.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...