|
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
FH Super JLI'ler
Alter: 36 Anmeldedatum: 16.10.2004 Beiträge: 438
Medaillen: Keine
|
Verfasst am: 27.12.2004, 19:43 Titel: Sinnlose Rückgabe bei _beginthread() ??? |
|
|
Hallo an alle,
ich programmiere gerade mit Threads, und habe da folgendes Problem:
In meiner Doku von C++ 6.0 steht:
Zitat: | _beginthread, _beginthreadex
Create a thread.
unsigned long _beginthread( void( __cdecl *start_address )( void * ), unsigned stack_size, void *arglist ); [...] |
Weiter unten steht:
Zitat: | Return Value
If successful, each of these functions returns a handle to the newly created thread. _beginthread returns –1 on an error, [...] |
Wie geht DAS denn??? beginthread gibt eine Variable des Typs unsigned long zurück, aber bei einen Fehler -1... HÄÄÄÄ??? Das ist doch Blödsinn, oder? Kann mir jemand sagen, was bei einem Fehler wirklich zurückgegeben wird?
Danke schon mal und Gruß
FH _________________ goto work, send your kids to school
follow fashion, act normal
walk on the pavement, watch T.V.
save for your old age, obey the law
Repeat after me: I am free |
|
Nach oben |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 27.12.2004, 21:25 Titel: |
|
|
Ich kanns zwar nicht mit Sicherheit sagen, aber ich vermute mal, dass trotzdem alles seine Richtigkeit hat.
Wenn du einer unsigned-Variablen -1 zuweist, dann wird eben der höchstmöglichste Wert zugewiesen:
Code: | unsigned char one_byte=-1;
//[...]
cout<<(int)one_byte<<endl; |
Ausgabe:
Du kannst das ja dann überprüfen, indem du den Rückgabewert mit einer gleichen unsigned-Variable/-Konstanten vergleichst, der du -1 zuweist _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
|
FH Super JLI'ler
Alter: 36 Anmeldedatum: 16.10.2004 Beiträge: 438
Medaillen: Keine
|
Verfasst am: 27.12.2004, 23:06 Titel: |
|
|
Klar, das ist mir auch schon eingefallen... Aber was ist dann, wenn es diese Anzahl an Threads gibt? Dann wäre die ThreadID ja die gleiche wie die FehlerID... oder?
Trotzdem danke
FH _________________ goto work, send your kids to school
follow fashion, act normal
walk on the pavement, watch T.V.
save for your old age, obey the law
Repeat after me: I am free |
|
Nach oben |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 28.12.2004, 12:02 Titel: |
|
|
FH hat Folgendes geschrieben: | Klar, das ist mir auch schon eingefallen... Aber was ist dann, wenn es diese Anzahl an Threads gibt? Dann wäre die ThreadID ja die gleiche wie die FehlerID... oder? |
Theoretisch schon...Aber da der Typ ein long ist, kann ich mir kaum vorstellen, dass jemand so viele Threads benutzen will _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
|
FH Super JLI'ler
Alter: 36 Anmeldedatum: 16.10.2004 Beiträge: 438
Medaillen: Keine
|
Verfasst am: 28.12.2004, 13:05 Titel: |
|
|
Ämmm... Stimmt. 4 Mrd. Threads dürften etwas unrealistisch sein.
Danke und Gruß
FH _________________ goto work, send your kids to school
follow fashion, act normal
walk on the pavement, watch T.V.
save for your old age, obey the law
Repeat after me: I am free |
|
Nach oben |
|
|
AFE-GmdG JLI MVP
Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 30.12.2004, 19:35 Titel: |
|
|
Hexadezimal sieht eine -1 im long 0xFFFFFFFF aus, bei einem unsigned long ebenfalls. Wenn man aber schreibt
CPP: | unsigned long A=0xFFFFFFFF;
|
steht in der Variable der Wert 4294967295 drin - was in signed long umgewandelt (überlaufüberprüfung ausgeschaltet) wiederum -1 ergibt... _________________
CPP: | float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;} |
|
|
Nach oben |
|
|
FH Super JLI'ler
Alter: 36 Anmeldedatum: 16.10.2004 Beiträge: 438
Medaillen: Keine
|
Verfasst am: 31.12.2004, 00:25 Titel: |
|
|
OK... Ist zwar saukompliziert (die Theorie), habe 5 min. gebraucht, bis ich das geschnallt hatte. Theorie vestanden, danke AFE-GmdG.
Gruß und danke
FH _________________ goto work, send your kids to school
follow fashion, act normal
walk on the pavement, watch T.V.
save for your old age, obey the law
Repeat after me: I am free |
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|