Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

riCo

Treue Seele

  • »riCo« ist der Autor dieses Themas

Beiträge: 165

Beruf: Student

  • Private Nachricht senden

1

05.02.2007, 16:05

Aktuelle Zeile und Datei bequem an Funktion übergeben

Hallo,
ich schreib mir grade eine Klasse zum Loggen von Ereignissen. Basis waren die Funktionen der Tribase-Engine. Da define's aber nicht unbedingt das wahre sind, will ich das alles in einer Klasse(die Singleton sein wird) kapseln. Mein Problem besteht nun bei der Übergabe der aktuellen Zeile, Funktion und Datei an die Funktionen. Klar könnte ich das immer als Parameter übergeben und man müsste die Funktion dann etwa so aufrufen:

C-/C++-Quelltext

1
LogInstanz.write_Info("Test", __FILE__, __LINE__, __LOG_FUNCTION__);


Das find ich jedoch sehr nervig. Eigentlich will ich nur den Text übergeben, der Rest soll weitesgehend automatisch geschehen. Geht das überhaupt?
Wir leben alle unter dem Sternenhimmel, aber wir haben nicht alle den gleichen Horizont.

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

2

05.02.2007, 17:09

C-/C++-Quelltext

1
#define Log( s ) LogInstanz.write_Info( ( s ), __FILE__, __LINE__, __LOG_FUNCTION__ )


Genau so geht das! :P
@D13_Dreinig

grek40

Alter Hase

Beiträge: 1 491

Wohnort: Dresden

  • Private Nachricht senden

3

05.02.2007, 17:16

Also irgendwie musst du dich zwischen Define und Schreibarbeit entscheiden, da die Macros __FILE__ und __LINE__ nur funktionieren, wenn man sie auch in die richtige Zeile setzt. Jede andere Automatik die mir einfällt außer Macros würde die falsche Zeile / Datei ausgeben.

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

4

05.02.2007, 17:17

Zitat von »"grek40"«

Also irgendwie musst du dich zwischen Define und Schreibarbeit entscheiden, da die Macros __FILE__ und __LINE__ nur funktionieren, wenn man sie auch in die richtige Zeile setzt. Jede andere Automatik die mir einfällt außer Macros würde die falsche Zeile / Datei ausgeben.


So siehts aus. Und Macros sind zwar böse und schlimm und alles. Aber wenn man sie sinnvoll und vorsichtig nutzt können sie dir trotzdem Arbeit ersparen.
@D13_Dreinig

riCo

Treue Seele

  • »riCo« ist der Autor dieses Themas

Beiträge: 165

Beruf: Student

  • Private Nachricht senden

5

06.02.2007, 07:28

Dann werd ich wohl weiterhin die bösen Makro's nutzen und ne Klasse zum Initialisieren und verwalten. Hab mir schon gedacht das das nicht geht - wäre auch zu schön gewesen :)
Wir leben alle unter dem Sternenhimmel, aber wir haben nicht alle den gleichen Horizont.

Werbeanzeige