Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Rätselecke » Macrogemurkse

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 ] > 2 < [ 3 ] [ 4 ]
010
20.01.2004, 10:36 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


so ne sch**sse bei
bei #v#r#p war ich auch schon ich wusste nur nicht wie ich das konkateniere...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
20.01.2004, 10:43 Uhr
(un)wissender
Niveauwart


Mit dem kann man eigentlich tolle Dinge machen. Jetzt kann man immer die aktuelle Version erfahren und es kostet keine Laufzeit, nett.


C++:
#include <cstdio>
#include <cstdlib>

#define VERSION 100
#define REVISION 2
#define PATCHLEVEL 3

#define MAKESTR(x) #x
#define VERSIONSTRING(v,r,p) MAKESTR(v) "." MAKESTR(r) "." MAKESTR(p)
#define CURRENT_VERSION VERSIONSTRING(VERSION, REVISION, PATCHLEVEL)

int main()
{
    printf("%s\n", CURRENT_VERSION);
}


--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
20.01.2004, 10:49 Uhr
virtual
Sexiest Bit alive
(Operator)


@Windalf

@unwissender
das # nimmt den Namen des Macro parameters und macht ihn zum String:

C++:
#define MAKESTR(x) #x
MAKESTR(hallo) => "hallo"


Daher muß man zwei Macros verwenden, hätte ich geschrieben

C++:
VERSIONSTRING(v,r,p) #v "." #r "." #p


Wäre immer nur "v.r.p" als Strig rausgekommen. Das zusätzliche MAKESTR bewirkt, daß zunächst die Parameter ausgewertet werden:

C++:
#define VERSIONSTRING(v,r,p) MAKESTR(v) "." MAKESTR(r) "." MAKESTR(p)


wird zu

C++:
MAKESTR(1) "." MAKESTR(2) "." MAKESTR(3)


Und dann erst wird MAKESTR aufgelöst:

C++:
"1" "." "2" "." "3"


was für den präprozessor ein herzliches

C++:
"1.2.3"


bedeutet.

Neben dem # gibts noch ein ## zum Aneinanderängen:

C++:
#define DEFINELITERATL(x) const char* sz##x = #x
...
DEFINELITERAL(Hallo);
DEFINELITERAL(Welt);
...



Expandiert zu

C++:
const char* szHallo = "Hallo";
const char* szWelt = "Welt";


--
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
013
20.01.2004, 10:50 Uhr
virtual
Sexiest Bit alive
(Operator)



Zitat:
(un)wissender postete
Mit dem kann man eigentlich tolle Dinge machen. Jetzt kann man immer die aktuelle Version erfahren und es kostet keine Laufzeit, nett.


Genau dieses Feature war "Lernziel" der Aufgabe
--
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
014
20.01.2004, 11:22 Uhr
(un)wissender
Niveauwart


@virtual
Danke für die Erklärung, dass mit dem Namen des Parameters hatte ich nicht verstanden (weiß ich jetzt im Nachhinein), aber nun ist alles klar.
Top Rätsel!
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
20.01.2004, 11:59 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


Jo das rätsel war sehr gut...
Bitte bitte noch eins...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
20.01.2004, 14:21 Uhr
Pablo
Supertux
(Operator)


Dann..... (der Hammer ist, dass diese Frage am betsen sich persönlich beantworten lässt) bitte ehlrich sein!

Stell dir vor, du wärst ein Busfahrer.
Nun steigt eine alte Oma an, und sie braucht 10 Minuten, bis sie die Fahrkarte kauft, denn sie kann überhaupt nicht mehr lesen und hören. Danach steigt ein Kind ein der ständig Lärm macht Nach 10 Minuten steigen schöne Mädels und die Jungs im Bus können sich nicht kontrollieren und fangen an sie zu lästern. Danach steigt die Oma wieder aus, und braucht nochmal ungefähr 10 Minuten, bis sie uassteigt. Ein Opa steigt wieder ein und nach 10 Minuten steigen die Mädls wieder aus, diesesmal steigt eine 25 Jährige ein, Mann ist die hübsch, ach übrigens, wie heisst nochmal der Fahrer?
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
20.01.2004, 14:23 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


Windalf
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
018
20.01.2004, 15:19 Uhr
(un)wissender
Niveauwart


(un)wissender oder bist du ich?
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
019
20.01.2004, 15:20 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


Wenn ich du bin wer bist du dann? Ich?
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 < [ 3 ] [ 4 ]     [ Rätselecke ]  


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: