JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=765558b9abb47e58dcb1aa1cdb85dd2dMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Sinnlose Rückgabe bei _beginthread() ???

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
FH
Super JLI'ler


Alter: 36
Anmeldedatum: 16.10.2004
Beiträge: 438

Medaillen: Keine

BeitragVerfasst am: 27.12.2004, 19:43    Titel: Sinnlose Rückgabe bei _beginthread() ??? Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 27.12.2004, 21:25    Titel: Antworten mit Zitat

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:
Zitat:
255

Du kannst das ja dann überprüfen, indem du den Rückgabewert mit einer gleichen unsigned-Variable/-Konstanten vergleichst, der du -1 zuweist Wink
_________________
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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
FH
Super JLI'ler


Alter: 36
Anmeldedatum: 16.10.2004
Beiträge: 438

Medaillen: Keine

BeitragVerfasst am: 27.12.2004, 23:06    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 28.12.2004, 12:02    Titel: Antworten mit Zitat

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 Wink
_________________
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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
FH
Super JLI'ler


Alter: 36
Anmeldedatum: 16.10.2004
Beiträge: 438

Medaillen: Keine

BeitragVerfasst am: 28.12.2004, 13:05    Titel: Antworten mit Zitat

Ä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
Benutzer-Profile anzeigen Private Nachricht senden
AFE-GmdG
JLI MVP
JLI MVP


Alter: 45
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 30.12.2004, 19:35    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
FH
Super JLI'ler


Alter: 36
Anmeldedatum: 16.10.2004
Beiträge: 438

Medaillen: Keine

BeitragVerfasst am: 31.12.2004, 00:25    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
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

Impressum