JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

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

header dateien includieren

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


Alter: 36
Anmeldedatum: 20.06.2003
Beiträge: 302

Medaillen: Keine

BeitragVerfasst am: 02.04.2004, 21:03    Titel: header dateien includieren Antworten mit Zitat

Hallo
ich habe mal eine blöde frage aber bei mir kommt immer beim includieren
die fehlermeldung der heap ist 632 groß oder so ähnlich.
Also ich habe merere header Dateien die untereinnander abhängig sind wie macht ihr das mit den header Dateien das mann da nicht mal zufällig eine Doppelt includiert.

Danke
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
KI
JLI Master


Alter: 39
Anmeldedatum: 04.07.2003
Beiträge: 965
Wohnort: Aachen
Medaillen: Keine

BeitragVerfasst am: 02.04.2004, 21:16    Titel: Antworten mit Zitat

du kannst oben in die header-datei schreiben:

#pragma once
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
KI
JLI Master


Alter: 39
Anmeldedatum: 04.07.2003
Beiträge: 965
Wohnort: Aachen
Medaillen: Keine

BeitragVerfasst am: 02.04.2004, 21:24    Titel: Antworten mit Zitat

KI hat Folgendes geschrieben:
#pragma once
Das verhindert megrfachens Inkludieren des Headers.

Es gibt aber noch eine andere Möglichkeit, weil "#pragma once" nicht mit jedem Compiler funktioniert. Es ist demnach nicht portabel.

Die andere Möglichkeit geht so:
Code:

#ifndef HEADER_NAME_H
#define HEADER_NAME_H

// [...] Inhalt der Header-Datei

#endif
Wobei HEADER_NAME_H für jede Header-Datei verschieden sein muss. Is ja logisch. Wink
Es steht quasi für ine ID. Es könnte genauso gut lauten: LECK_MICH, oder so. Razz
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
nigs
Super JLI'ler



Anmeldedatum: 19.12.2002
Beiträge: 359

Medaillen: Keine

BeitragVerfasst am: 03.04.2004, 10:55    Titel: Antworten mit Zitat

geht #pragma once auf dem Vc++6??? gehts auch auf dem VS.NET2004???? würd mich mal interessieren...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 03.04.2004, 15:13    Titel: Antworten mit Zitat

Bei VC++ auf jeden Fall.
Ich benutze eigentlich nur #pragma once
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Christian Rousselle
Site Admin


Alter: 48
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 03.04.2004, 15:43    Titel: Antworten mit Zitat

Bei 2002/2003 .NET geht es auch. Eine Beta von 2004 habe ich nicht Twisted Evil
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Florian
Super JLI'ler


Alter: 36
Anmeldedatum: 20.06.2003
Beiträge: 302

Medaillen: Keine

BeitragVerfasst am: 07.04.2004, 16:52    Titel: Antworten mit Zitat

hallo ich habe es jetzt mal so gelöst das es beim kompielieren 0 Fehler bekomme aber dann beim Ausführen kommen dann folgende Fehlermeldung

c:\c++files\objektprojekt\menue.h(9) : error C2504: 'OBJECT' : Basisklasse undefiniert
c:\c++files\objektprojekt\menue.h(17) : error C2061: Syntaxfehler : Bezeichner 'MSG'
c:\c++files\objektprojekt\menue.h(23) : error C2143: Syntaxfehler : Fehlendes ';' vor '*'
c:\c++files\objektprojekt\menue.h(23) : error C2501: 'MSG' : Fehlende Speicherklasse oder Typbezeichner
c:\c++files\objektprojekt\menue.h(23) : error C2501: 'm_pMsg' : Fehlende Speicherklasse oder Typbezeichner
c:\c++files\objektprojekt\menue.h(24) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'm_kollision'
c:\c++files\objektprojekt\menue.h(24) : error C2501: 'KOLLISION' : Fehlende Speicherklasse oder Typbezeichner
c:\c++files\objektprojekt\menue.h(24) : error C2501: 'm_kollision' : Fehlende Speicherklasse oder Typbezeichner
c:\c++files\objektprojekt\menue.cpp(1Cool : error C2065: 'FALSE' : nichtdeklarierter Bezeichner
c:\c++files\objektprojekt\menue.cpp(1Cool : warning C4800: 'int' : Variable wird auf booleschen Wert ('True' oder 'False') gesetzt (Auswirkungen auf Leistungsverhalten moeglich)
c:\c++files\objektprojekt\menue.cpp(23) : error C2065: 'm_lpD3DDevice' : nichtdeklarierter Bezeichner
c:\c++files\objektprojekt\menue.cpp(23) : error C2227: Der linke Teil von '->Release' muss auf Klasse/Struktur/Union zeigen
c:\c++files\objektprojekt\menue.cpp(26) : error C2065: 'MSG' : nichtdeklarierter Bezeichner
c:\c++files\objektprojekt\menue.cpp(26) : error C2065: 'msg' : nichtdeklarierter Bezeichner
c:\c++files\objektprojekt\menue.cpp(27) : error C2448: '<unbekannt>' : Funktionsstil-Initialisierung scheint eine Funktionsdefinition zu sein
Fehler beim Ausführen von cl.exe.


Was kann da falsch gelaufen sein
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 07.04.2004, 18:30    Titel: Antworten mit Zitat

Du hast wohl irgendwei vergessen ein paar Headerdateien einzubinden. Oder ein paar *.libs
Was hast du denn alles includiert?
Du könntest (wenn er nicht zu lang ist) mal den kompletten Quelltext posten. (Aus wie vielen Dateien besteht der eigentlich? nur eine, oder hast du ihn in mehrere aufgeteilt?)

[edit]Das mit den 0 fehler beim kompilieren kann ja gar nicht sein. Du postest ja Kompileirfehler. und beim ausführen kommen solche Fhelermeldungen nicht.[/edit]
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Florian
Super JLI'ler


Alter: 36
Anmeldedatum: 20.06.2003
Beiträge: 302

Medaillen: Keine

BeitragVerfasst am: 08.04.2004, 09:27    Titel: Antworten mit Zitat

Hallo ich glaube ich habe denn fehler gefunden
Aber um in zu lösen brauche ich die Froward Deklaration.
Da ich mit dieser noch nie was gemacht und gehört habe kann mir vieleicht einer diese art näher erklären im Buch steht über dieser art nichts so weit ich weiß.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
HotAcid
Super JLI'ler


Alter: 43
Anmeldedatum: 04.08.2002
Beiträge: 372
Wohnort: Berlin
Medaillen: Keine

BeitragVerfasst am: 08.04.2004, 10:36    Titel: Antworten mit Zitat

Ich mach jetzt einfach mal nen Versuch, keine Ahnung, obs stimmt... habe meine Bücher gerade nicht in Reichweite:

du hast zwei Klassen A und B und den Dateien A.h und B.h

A.h:
Code:

class B;

class A
{
  B* pB;
};


B.h:
Code:
#include A.h

class B
{
  A* pA;
};


cu Felix
_________________
StGB §§ 328 Abs. 2 Pkt 3:
Mit Freiheitsstrafe bis zu fünf Jahren oder mit Geldstrafe wird bestraft, wer eine nukleare Explosion verursacht.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 08.04.2004, 13:02    Titel: Antworten mit Zitat

Das mit der Forward deklaration hatte ich auch mal:
http://www.jliforum.de/board/viewtopic.php?t=2097
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
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