|
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
FanBoy Mini JLI'ler
Anmeldedatum: 21.07.2003 Beiträge: 33
Medaillen: Keine
|
Verfasst am: 21.07.2003, 19:54 Titel: Exceptions en Mass... |
|
|
HiHo, mein erster Post und schon gleich wegen eines Problemes... naja ist wahrscheinlich normal.
Also ich bin im 22 Kapitel von Christians 2. Buch (ist übrigens sau gut, planst du einen nachfolger? Biiiitte =)
Naja, jedenfalls habe ich versucht, dass Sprites Programm (mit dem lustiges Cowboy) aus dem vorherigen kapitel mit dem PerformanceCounter Framerater zu versehen, es funzt auch...
allerdings krieg ich von C++ (.net) immer solche Ausgaben:
Eine Ausnahme (erste Chance) bei 0x77e53887 in DirectXKonstrukt.exe: Microsoft C++ exception: long @ 0x0012f710.
Und zwar tonnenweise, immer diese Meldung.
Außerdem steht manchmal in der Aufgabenliste: "warning C4715: 'WinMain' : Nicht alle Steuerelementpfade geben einen Wert zur³ck"
Was bedeutet das? Schlimm?
Christian hat in seinem Programm die zeile
Code: | #pragma warning(disable : 4786) // Warnung 4786 ausschalten |
stehen, ist die dafür? Funzt die vielleicht nur unter .net net? |
|
Nach oben |
|
|
Christian Rousselle Site Admin
Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 21.07.2003, 21:45 Titel: |
|
|
Code: |
#pragma warning(disable : 4786) // Warnung 4786 ausschalten
|
ist nur für die STL-Warnings. Das sollte nichts ausmachen. Kommen die Exceptions auch, wenn du ein unverändertes Programm ausführst?
Christian |
|
Nach oben |
|
|
AFE-GmdG JLI MVP
Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 21.07.2003, 22:41 Titel: Re: Exceptions en Mass... |
|
|
FanBoy hat Folgendes geschrieben: | Außerdem steht manchmal in der Aufgabenliste: "warning C4715: 'WinMain' : Nicht alle Steuerelementpfade geben einen Wert zur³ck" |
Dieser Fehler ist nicht so schlimm, kann aber vermieden werden.
Er tritt auf, wenn (sich) das Programm beende(t/n) (werden) kann, ohne einen Rückgabewert zu liefern.
Er tritt z.B. im folgenden auf:
Code: |
int main(void) {
int i=7;
switch(i) {
case 1:
return 1;
case 7:
return 7;
}
}
|
Der Compieler kann nicht wissen, dass
a) Der Teilpfad "case 1:" nie erreicht werden kann, da i mit 7 direkt davor festgelegt wurde.
b) diese Funktion so wie sie dort steht Immer 7 zurückliefern würde.
c) das Ende der Switch-Abfrage nie erreicht wird und somit ein (nicht vorhandenes) "return 0;" am ende der Funktion ausführen könnte.
Obwohl es bei der Ausführung dieses Codeausschnittes nie zu einem Fehler kommt, warnt der Compiler - im Prinzip verständlich...
AFE-GmdG _________________
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 |
|
|
FanBoy Mini JLI'ler
Anmeldedatum: 21.07.2003 Beiträge: 33
Medaillen: Keine
|
Verfasst am: 22.07.2003, 10:43 Titel: |
|
|
Jo Thx erstmal...
ja beim unverändert Beispielprogramm krieg ich auch zwei Exceptions.
Wofür ist denn nun eigentlich die Pragma Zeile?
Lustigerweise (zumindest finde ich es lustig, weil ich es nicht verstehe) bekomme ich meinen tonnenweise Exceptions nur, wenn ich an der Stelle
Code: |
QueryPerformanceCounter((LARGE_INTEGER*)&CurCount);
if (CurCount>NextFrame)
{
Direct3D.BeginScene();
....//Spritebewegungen
NextFrame=CurCount+Offset;
}
|
danach noch einen else Zweig einbaue. (beispielsweise ein DrawText("ich warte gerade"...) (Der Code ist in der Nachrichtenschleife im Else-Zweig der peekMessage Funktion)
Ansonsten kriege ich auch nur die beiden Exceptions wie im unveränderten auch...
Wodrann könnte das liegen?
Das mit dem Rückegabewert lag übrings wirklcih an der Sache, die AFE genannt hat, habs wegbekommen. Thx4That2 =)
Achja, @ Christian:
Bist du dir eigentlich bewusst, dass in der Sprite Klasse das Attribut m_AnimationsSpeed genau das Gegenteil von dem Bewirkt, was man denken könnte? Je größer, desto langsamer läuft alles... |
|
Nach oben |
|
|
gl_echse JLI'ler
Anmeldedatum: 01.01.2003 Beiträge: 105
Medaillen: Keine
|
Verfasst am: 22.07.2003, 13:36 Titel: |
|
|
Die pragma-zeile sagt dem compiler, dass er die Warnung 4786 beim compilieren nicht ausgeben soll. |
|
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
|