Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Kalua Mini JLI'ler
Anmeldedatum: 11.01.2006 Beiträge: 1
Medaillen: Keine
|
Verfasst am: 11.01.2006, 14:10 Titel: Beispiele im Buch mit Visual Studio 2003 kompatibel |
|
|
Hallo!
Ich habe mir heute das Buch bestellt und gelesen, dass auf der Heft-CD die ja doch recht alte IDE c++ 6.0 drauf ist.
Als Delphi Veteran und C++ Neuling stelle ich nun mal eine evtl. dumme Frage mit der Bitte um Nachsicht:
Kann ich die Beispiele im Buch 1zu1 mit Visual Studio 2003 kompilieren oder hat sich an der Syntax etwas geändert? Ich selbst wäre nämlich wohl als Anfänger kaum in der Lage, den Code entsprechend anzupassen.
Danke! |
|
Nach oben |
|
 |
Jonathan_Klein Living Legend

Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 11.01.2006, 14:12 Titel: |
|
|
Normalerweise müsstest du das Problemlos kompilieren können, nur halt die Projektdatteien müssen konvertiert werden. _________________ https://jonathank.de/games/ |
|
Nach oben |
|
 |
Patrick Dark JLI Master

Anmeldedatum: 25.10.2004 Beiträge: 1895 Wohnort: Düren Medaillen: Keine
|
|
Nach oben |
|
 |
Christian Rousselle Site Admin

Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 11.01.2006, 15:05 Titel: |
|
|
Die Beispiele laufen unter Visual C++ 2003. Wenn du ein neueres DX-SDK verwendest, kann es sein, dass du Probleme mit Sprite- und Textmethoden bekommst. Wenn du Visual C++ 2005 Express verwendest, wird es zu ein paar Fehlern kommen (uninitialisierte Variablen, Variable im Schleifenkopf verwendet und später außerhalb verwendet). |
|
Nach oben |
|
 |
Patrick Dark JLI Master

Anmeldedatum: 25.10.2004 Beiträge: 1895 Wohnort: Düren Medaillen: Keine
|
|
Nach oben |
|
 |
abc_d JLI Master Trainee

Alter: 35 Anmeldedatum: 27.01.2003 Beiträge: 615
Medaillen: Keine
|
Verfasst am: 11.01.2006, 21:56 Titel: |
|
|
Patrick was soll das eigentlich? Ich bin mir sicher das Christian inzwischen den Standard einhaltet, du musst keine dummen Anspielungen machen.
Soll ich dich an deine zfx.info zeit erinnern. Afaik hast du da auch nicht immer mit dem Standard programmiert. |
|
Nach oben |
|
 |
Fallen JLI MVP


Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 11.01.2006, 21:56 Titel: |
|
|
Es gibt einen Standard für das Böse O.o
Blond, blauäugig und Deutsch <- so in etwa? _________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
 |
Patrick Dark JLI Master

Anmeldedatum: 25.10.2004 Beiträge: 1895 Wohnort: Düren Medaillen: Keine
|
Verfasst am: 11.01.2006, 21:58 Titel: |
|
|
BlackLordOfDragons
Jesus das war als Scherz gemeint. Sorry das Du dich wegen alles ans Bein gepinkelt fühlst. Nebenbei: Dahinter war ein Smilie und komm mir nicht mit Textbrowsern, die zeigen einen Alter an. Wenn Du die Bedeutung von Smilies nicht verstehst - bitte, halte Dich geschlossen. Danke! Nebenbei: Komm mir bitte nicht mit so altem Toast von gestern, den kannst Du selber essen wenn es Dir spaß macht, hab keine Zeit für solchen Unfug.
Fallen
Blond, blauäugig und Deutsch? Hey das bin ich  _________________ 'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ] |
|
Nach oben |
|
 |
Christian Rousselle Site Admin

Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 12.01.2006, 13:34 Titel: |
|
|
Das Problem ist, dass VC6 und VC2005 das anders handhaben. Es tritt also in VC6 oder in VC2005 ein Fehler auf. Man kann da nichts ändern, außer man macht sowas Unschönes:
Code: |
// in allen Compiler geht folgendes, ist aber unschön
int i;
for(i=0;i<10;++i) { // i ist hier gültig }
// und hier auch
|
Code: |
// in VC6/VC2003
for(int i=0;i<10;++i) { // i ist hier gültig }
// und hier auch
|
Code: |
// in VC2005
for(int i=0;i<10;++i) { // i ist hier gültig }
// hier nicht
|
Da es zu der Zeit, in der ich die Beispiele erstellt habe, kein VC2005 gab,habe ich so entwickelt, dass es in VC6/VC2003 läuft - bisher gab es darüber auch noch keine Beschwerden.
Ein gutes Beispiel dafür, dass es in der Praxis häufig anders aussieht, als im Standard - zumal VC6/2003 (zumindest bei kommerzieller Entwicklung) eher den Standard definiert, als der Standard  |
|
Nach oben |
|
 |
Patrick Dark JLI Master

Anmeldedatum: 25.10.2004 Beiträge: 1895 Wohnort: Düren Medaillen: Keine
|
|
Nach oben |
|
 |
Christian Rousselle Site Admin

Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 12.01.2006, 13:50 Titel: |
|
|
Nur dass das kein Mensch versteht, der gerade dabei ist C/C++ zu lernen. |
|
Nach oben |
|
 |
Patrick Dark JLI Master

Anmeldedatum: 25.10.2004 Beiträge: 1895 Wohnort: Düren Medaillen: Keine
|
Verfasst am: 12.01.2006, 13:58 Titel: |
|
|
Christian Rousselle
Gutes Argument, jedoch könnte man da etwas auf den PräProzessor eingehen und zeigen was aus diesem Code dann wird  _________________ 'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ] |
|
Nach oben |
|
 |
DirectXer Dark JLI'ler

Anmeldedatum: 05.02.2005 Beiträge: 1201 Wohnort: Köln Medaillen: Keine
|
Verfasst am: 12.01.2006, 19:54 Titel: |
|
|
Patrick hat Folgendes geschrieben: | Ich habe unter VC++6 immer folgendes gemacht:
CPP: | #define for if(false) {} else for |
|
IIRC bewirt das, dass "for" durch "if(false) {} else for" ersetzt wird, was heißt, dass der ganze for-Schleifen Ablauf in einer "else" untergebracht wird. Demnach wird die index Variable, die in der for() deklariert wird, am Ende der for() ungültig, da die Variable ings. in der else gültig war und danach (weil else dann zu ende ist) weggeschmissen.
Gruß DirectXer |
|
Nach oben |
|
 |
Kampfhund Super JLI'ler
Alter: 42 Anmeldedatum: 20.07.2002 Beiträge: 408
Medaillen: Keine
|
Verfasst am: 13.01.2006, 00:42 Titel: |
|
|
Funktioniert folgendes nicht?
CPP: | #define for if(true) for
|
Wenn nein würde ich vermuten, dass das if(true) rausoptimiert wird und dadurch auch der scope weg is. Allerdings würde es mich dann wundern, dass if(false){} else nicht wegoptimiert wird.
PS: hab keinen Compiler hier der die alten for-dinger verwendet. _________________ Kochen ist ein NP-schweres Optimierungsproblem. |
|
Nach oben |
|
 |
Christian Rousselle Site Admin

Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 13.01.2006, 09:22 Titel: |
|
|
Bei if(true) wird der else-Teil und damit der eigentliche Code wegoptimiert, bei if(false) wird der if-Teil wegoptimiert und der else-Teil ausgeführt. Nur so ist es richtig. |
|
Nach oben |
|
 |
|