#include

KILLSMAKER

Erfahrenes Mitglied
moin!

Ich wollte mal fragen, ob ich ich irgendwie zur Laufzeit bestimmte Dateien(.cpp) per #include
einbinden kann. Wenn ich z.B.
Code:
TCHAR file[100];
wsprintf(file,TEXT("level1.cpp"));// also dass der Benutzer level1.cpp includen will habe ich vorher erfragt//
#include file
eingebe, sagt der Compiler gleich das er kein Bezeichner haben möchte.

DANKE
 
moin


Nein das geht nicht.

Anweisungen mit einem # davor werden vom Compiler "eingesammelt" bevort der Code übersetzt wird.


mfg
umbrasaxum
 
moin


Was willst du denn genau machen?

Also warum soll level1 erst geladen werden wenns gebraucht wird?


mfg
umbrasaxum
 
@ umbrasaxum:

Sorry, aber ich muss mal schnell klugscheissen :) :)

Die Anweisungen mit # sind sog. Präprozessor-Direktiven und werden VOR dem
Compiler durch den Präprozessor bearbeitet.
Der Compiler braucht den Sourcecode nämlich an "einem Stück".

Grüße, Chris

P.S.: was fährst du denn da für einen Joghurt-Becher (GSXF) :) :) :suspekt:
 
moin


Ja gut Präprozessor, wen interessiert das ;)

Ich fahre einen schwarzen Joghurtbecher mit 600ccm und knapp 90 PS und ich bin Stolz drauf!


mfg
umbrasaxum
 
@umbrasaxum:
Also ich programmiere gerade ein Spiel und meine eigenen Level lade ich auch vorher, aber ich dachte die Level, die der Spieler in meinem Editor erstellt, könnte ich ja auch noch einbinden, aber da ich die Namen nicht weiß, erfrage ich ich diese und lasse sie dann per #include in mein Code reinsetzen.
 
moin


Aha, aber das wirst du anders lösen müssen!

Du könntest dir z.B. eine Skriptsprache ausdenken, die vom Editor erstellt und vom Spiel umgesetzt wird.... oder du nimmst eine vorhandene.


mfg
umbrasaxum
 
Oder einfacher:

du erstellst einen Ordner wo deinen ganzen Levels drin sind.
Dann liest du beim Programmstart die gesamten Dateien mit
einer bestimmten Endung der Leveldateien heraus (.lvl) und
dann hasst du die gesamten Dateien in einen zB 2-dim Array.
Schreibst halt einfach eine Funktion für das oder ich hätte eine
falls du eine benötigst zum Dateien herauslesen.
 
Zurück