Threads mit MSVC
-
Hallo ich möchte gern mit Threads arbeiten.
Da gibt es diese wunderschöne function "_beginthread()".
Allerdings hab ich damit einige Schwierigkeiten!!1.) Was muss ich alles in meinen Projekteinstellungen machen, damit ich diese function nutzen kann? Ich habe den MSVC++ 6.0 ! Ich hab die Headerdatei "process.h" eingebunden, habe die Library "LIBCMT.LIB" unter der Registerkarte "Linker" hinzugefügt, und unter "Debug" den Argumentaufruf 'CL /MT /D "_X86_"' eingefügt.
2.) Wenn er die Funktion findet, bekom ich folgende Fehlermeldung:
D:\MyProjects\VC++\Bomberman OhneDX\Spladdy.cpp(2807) : error C2664: '_beginthread' : Konvertierung des Parameters 1 von 'int (void)' in 'void (__cdecl *)(void *)' nicht moeglich
Keine Funktion mit diesem Namen im Gueltigkeitsbereich stimmt mit dem Zieltyp ueberein. Wie muss ich meine Funktion anlegen, damit ich diese dort benutzen kann? Kann ich dort auch eine Funktion einer Klasse übergeben?
-
Ne du kannst keine Funktion einer Klasse dort übergeben. Ich glaube aber, dass du eine sttische methode übergeben kannst falls du klassen verwenden willst.
Die funktion muss so aussehen:
int function(void*);
Zu beachten des void* kannst auch LPVOID schrieben.
-
Hallo, also ich arbeite mit CreateThread(..): Die Einstigsfunktion habe ich so angelegt (global):
DWORD WINAPI NotificationProc( LPVOID lpParameter ) { <EinObject>* var = (<EinObject>*)lpParameter; //übergebenen Parameter auf entsprechenden Typ casten //mach was...! return returnValue; }
Gruß mathi
[ Dieser Beitrag wurde am 29.01.2003 um 14:04 Uhr von mathi editiert. ]
-
guck mal in die faq