Archiv verlassen und diese Seite im Standarddesign anzeigen : wie bringe ich fluid dazu, einen eintrag in die _header_ - Datei zu schreiben?
peschmae
22-05-2002, 07:13
mein problem:
ich muss eine include - anweisung in eine von fluid zu erzeugende header - datei schreiben, dies weil in der zu includenden Datei ein Struct deklariert wird, das als Parameter für eine Funktion, die in der include - datei (die von fluid) deklariert wird, benötigt wird
MFG Peschmä
P.S. Bisher habe ich das zeugs immer von Hand da rein geschrieben, aber es wird langsam ein bisschen mühsam
anda_skoa
22-05-2002, 10:04
Hmm, vielleicht gibt es eine Möglichkeit einfach nur den Namen der struct zu deklarieren.
Das geht zumindest mit class so, wenn man keinen Zugriff darauf hat, sondern es eben nur als Parameter (pointer oder Referenz) in der Deklaration einer Methode audtaucht.
zB
// forward declaration
class MyClass1;
void foobar(MyClass1* myClass);
Sonst kannst du es vielleicht über eine Makefile Rule machen:
[code]
realheader.h: fluid_generated.h
echo other.h > realheader.h
cat fluid_generated.h >> realheader.h
/code]
Ciao,
_
peschmae
22-05-2002, 10:51
das erste schein mir eine gute idee ...,
hab das auch schon verwendet, allerdings dachte ich dass das nur bei Klassen so geht ...
zu 2: mache ich derzeit so ähnlich, aber irgendwie ist das unsauber oder!?
MFG Peschmä
anda_skoa
22-05-2002, 15:54
Original geschrieben von peschmae
das erste schein mir eine gute idee ...,
hab das auch schon verwendet, allerdings dachte ich dass das nur bei Klassen so geht ...
Hmm, ich bin mir auch nicht sicher ob es geht.
In C++ sollte es schon gehen, eine struct ist einer class serh ähnlich.
Der eigentliche Unterschied ist ja nur, dass bei struct alles public ist, bei class alles private, wenn nichts anderes angegebn ist.
zu 2: mache ich derzeit so ähnlich, aber irgendwie ist das unsauber oder!?
Naja, wenn es nicht mit obiger Methode geht und der Generator dir keine Möglichkeit gibt, etwas ein zu binden, bleibt dir nur ein workaround.
Wenn dir der obige nicht gefällt, kannst du auch eine kurzen Header machen, der nur die beiden includes enthält:
#include <meinheader.h>
#include <generierter_header.h>
Und diese Headerdatei benutzt du dann stellvertretend für den generierten header.
Allerdings mußt du entweder den generierten Header weiterhin in den make dependecies auffrühren, oder du fügts zur Generierung Regel noch ein touch für den Combiheader ein.
Ciao,
_
peschmae
23-05-2002, 11:47
thanks
methode 1 läuft! hab das ganze einfach als klasse deklariert, mit allen variablen als public, das ist dann vom handling her netterweise genau gleich, wie wenn es eine struct wäre.
MFG Peschmä
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.