Als «preprocessor» getaggte Fragen

103
Komma im C / C ++ - Makro

Angenommen, wir haben ein solches Makro #define FOO(type,name) type name Was wir gerne gebrauchen könnten FOO(int, int_var); Aber nicht immer so einfach: FOO(std::map<int, int>, map_var); // error: macro "FOO" passed 3 arguments, but takes just 2 Natürlich könnten wir tun: typedef...

100
Makro vs Funktion in C.

Ich habe immer Beispiele und Fälle gesehen, in denen die Verwendung eines Makros besser ist als die Verwendung von Funktionen. Könnte mir jemand anhand eines Beispiels den Nachteil eines Makros gegenüber einer Funktion

99
Pragma im Makro definieren

Gibt es eine Möglichkeit, Pragma-Anweisungen mit anderen Anweisungen in Makros einzubetten? Ich versuche etwas zu erreichen wie: #define DEFINE_DELETE_OBJECT(type) \ void delete_ ## type_(int handle); \ void delete_ ## type(int handle); \ #pragma weak delete_ ## type_ = delete_ ## type Ich...

99
#Defines einrücken

Ich weiß, dass #defines usw. normalerweise nie eingerückt werden. Warum? Ich arbeite gerade in einem Code, der eine schreckliche Mischung aus #defines, #ifdefs, #elses, #endifs usw. enthält. All dies wird oft mit normalem C-Code gemischt. Das Nichteinrücken des #defines macht sie schwer lesbar....

90
Verketten Sie int mit C Preprocessor mit String

Ich versuche herauszufinden, wie ich mit dem C- Präprozessor ein #define'd int mit einem #define' d-String verketten kann . Mein Compiler ist GCC 4.1 unter CentOS 5. Die Lösung sollte auch für MinGW funktionieren. Ich möchte eine Versionsnummer an eine Zeichenfolge anhängen, aber die einzige...