Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Probleme mit Threads

Empfohlene Antworten

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-

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.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.