Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » hilfe benötigt

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
29.09.2003, 16:25 Uhr
geissbock



hi!



ich bin eigentlich kein anfänger mehr in der c-programmierung, aber seit kurzem bin ich echt überfordert. könnt ihr mir eine kurze beschreibung euer gedanken zu dieser zeile schreiben?
DANKE

TRACE( (DBG, "collapse_file->: in_file='%s', out_files='%s'\n", in_file, out_file ) );

mfg geissbock
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
29.09.2003, 16:35 Uhr
virtual
Sexiest Bit alive
(Operator)


Naja,

C++:
#define TRACE(A) fprintf A


Dürfte in etwa die Definition des Macros TRACE in etwa sein, wobei ich das auch für eine Geschmacklosigkeit halten würde.
Prinzipiell scheint mir die Idee zu sein, daß durch die doppelten Klammern beim Macroaufruf die parameter, die an das fprintf übegeben werden, im Macro zu einem zusammengefasst werden. Im entferntesten Sinn macht das aber eigentlich nur dann, wenn es neben TRACE noch andere Macros dieser Art gibt, die sich aufeinander beziehen müßten.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)

Dieser Post wurde am 29.09.2003 um 16:37 Uhr von virtual editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
29.09.2003, 17:11 Uhr
geissbock




die definition:


C++:
#define TRACE(a)        
if (DBG != NULL) { fprintf( DBG, "%4d: ", __LINE__); fprintf a ; fflush(DBG); }


Dieser Post wurde am 29.09.2003 um 17:11 Uhr von geissbock editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
29.09.2003, 19:55 Uhr
virtual
Sexiest Bit alive
(Operator)


Tja, dann wird ja auch ein Schuhdraus: Diese Form der Notation erlaubt es, eine Variable Anzahl von Parametern an fprinf zu übergeben. So ganz geschmackslos ist es nicht, weil mit fällt keine bessere C Möglichkeit ein.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
30.09.2003, 13:31 Uhr
geissbock



thx! ist klar geworden
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
01.10.2003, 12:18 Uhr
geissbock



noch mal dazu!

wieso wird "%4d : " mit einem doppelpunkt geschrieben? das kenne ich garnicht!
und was soll das ___LINE___ sein? das kommt sonnst nie wieder im source-code vor!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
01.10.2003, 12:21 Uhr
0xdeadbeef
Gott
(Operator)


Der Doppelpunkt wird nachher einfach als Zeichen ausgegeben. Zum Beispel:

C++:
printf("%4d: blah\n", 12);


wird die Ausgabe

Code:
  12: blah


nach sich ziehen. __LINE__ ist ein Präprozessor-Makro, dass immer die aktuelle Zeile im Sourcecode beinhaltet. Wird vom Compiler definiert.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: