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.

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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...