Multithreading
-
Hallo Leute!
Ich wollte jetzt in C einen Multithread programmieren, jedoch findet er _beginthread und _endthread "auch mit argumentbezogener Suche" nicht.
Ich habe jedoch die process.h inkludiert und auch im Visual Studio Include Ordner ist sie vorhanden.
Was kann der Fehler sein?Vielen Dank, Mfg, David
-
Das hier ist das flasche Forum. Threads sind nur in platformspezifischen Libraries enthalten.
Da du etwas von der Visual C++ geredet hast, schätze ich mal du benutzt Windows. Also ab zur WinAPI.
Trozdem hier ein Beispiel für Windows Threads:
class CServer { int num; }; #include <windows.h> DWORD WINAPI StartServer( CServer* pServer ) { /* mach was im thread */ } int WINAPI WinMain (HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszArgument, int nFunsterStil) { CServer *pServer = new CServer(); DWORD dThreadID; CreateThread( NULL, 0, (LPTHREAD_START_ROUTINE)StartServer,pServer,0, &dThreadID ); while(1); }
Du kannst auch statt WinMain einfach:
int main( int argc, char *argv[] )
nehmen, wenn du ein Konsolen programm schreiben willst.
-
Aber in C sollte das doch genau so möglich sein.
Ich habe das laut folgender Seite probiert:
http://www.codeproject.com/threads/crtmultithreading.asp
Hier wird doch auch _beginthread in C verwendet, oder? In meinem Buch "C von Anfang an" steht es fast genauso drinnen.Mfg, David
-
schau mal ob in den project settings unter code generation multithreaded eingestellt ist
-
Aso.. die Einstellung kannte ich gar nicht.
Ich habs jetzt von Singlethreaded-Debug auf Multithreaded-Debug (/MTd), richtig?
Es kommt zwar noch was ziemlich seltsames raus, aber es scheint grundsätzlich zu funktionieren..
thx, David
-
ZEROlimited schrieb:
Aber in C sollte das doch genau so möglich sein.
Du hast nicht genau gelesen. Ich hab dir nur gesagt, dass es nich im C Standard Enthalten ist.
-
ZEROlimited schrieb:
Aber in C sollte das doch genau so möglich sein.
Ich habe das laut folgender Seite probiert:
http://www.codeproject.com/threads/crtmultithreading.asp
Hier wird doch auch _beginthread in C verwendet, oder? In meinem Buch "C von Anfang an" steht es fast genauso drinnen.Mfg, David
Es ist zwar C, aber nicht ANSI-C. Multithreading ist betriebssystemabhängig (nicht jedes Betriebssystem kann Multithreading; siehe Native DOS [abgesehen von gewissen Erweiterungen]).
Darum wandert der Thread jetzt auch ins Konsolenforum.
-
Dieser Thread wurde von Moderator/in AJ aus dem Forum ANSI C in das Forum DOS und Win32-Konsole verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.