Was ist in den Programmiersprachen C und C ++ der Unterschied zwischen der Verwendung von spitzen Klammern und der Verwendung von Anführungszeichen in einer includeAnweisung wie folgt? #include <filename> #include
Ein Textmakroprozessor, der vor dem Kompilieren von C- und C ++ - Sprachprogrammen angewendet wird. Dieses Tag kann auch für Fragen zu anderen Compilern / Sprachen verwendet werden, die von identischen Funktionen abgeleitet sind oder über identische Funktionen verfügen, z. B. die # -Directives in Objective-C oder C #.
Was ist in den Programmiersprachen C und C ++ der Unterschied zwischen der Verwendung von spitzen Klammern und der Verwendung von Anführungszeichen in einer includeAnweisung wie folgt? #include <filename> #include
Warum interpretiert der C- Präprozessor in GCC das Wort linux(Kleinbuchstaben) als Konstante 1? test.c: #include <stdio.h> int main(void) { int linux = 5; return 0; } Ergebnis von $ gcc -E test.c(Stopp nach der Vorverarbeitungsphase): .... int main(void) { int 1 = 5; return...
In vielen C / C ++ - Makros sehe ich den Code des Makros in einer scheinbar bedeutungslosen do whileSchleife. Hier sind Beispiele. #define FOO(X) do { f(X); g(X); } while (0) #define FOO(X) if (1) { f(X); g(X); } else Ich kann nicht sehen, was der do whilemacht. Warum nicht einfach ohne...
Ich habe Code wie diesen normalerweise am Anfang von Header-Dateien gesehen: #ifndef HEADERFILE_H #define HEADERFILE_H Und am Ende der Datei steht #endif Was ist der Zweck
Ich gehe einige C-Kursnotizen durch und jede C-Programmquelldatei beginnt mit einer einzelnen #in der ersten Zeile des Programms. Dann gibt es leere Zeilen und folgt den anderen Dingen, denen die mainFunktion folgt . Was ist der Grund für die #? (Es ist jetzt veraltet und ich kann den Kerl nicht...
Ich arbeite an einem Projekt, das viel alten C- Code enthält. Wir haben mit dem Schreiben in C ++ begonnen, mit der Absicht, den Legacy-Code schließlich auch zu konvertieren. Ich bin ein wenig verwirrt darüber, wie C und C ++ interagieren. Ich verstehe, dass durch das Umschließen des C- Codes mit...
Wo sind MINund MAXin C definiert, wenn überhaupt? Was ist der beste Weg, um diese so allgemein und sicher wie möglich zu implementieren? (Compiler-Erweiterungen / Builtins für Mainstream-Compiler werden
Wie definiere ich eine Präprozessorvariable über CMake? Der entsprechende Code wäre #define
На этот вопрос есть ответы на Stapelüberlauf на русском : Как узнать список всех определённых макросов? Gibt es eine Möglichkeit für gcc / g ++, seine Präprozessordefinitionen über die Befehlszeile zu sichern? Ich meine Dinge wie __GNUC__, __STDC__und so...
Ich habe mich gefragt, ob mir jemand erklären könnte, was die #pragma packPräprozessor-Anweisung bewirkt und was noch wichtiger ist, warum man sie verwenden möchte. Ich habe mir die MSDN-Seite angesehen , die einige Einblicke bot, aber ich hatte gehofft, mehr von erfahrenen Leuten zu hören. Ich...
Der Versuch, ein Makro zu erstellen, das zum Drucken von Debug-Meldungen verwendet werden kann, wenn DEBUG definiert ist, wie der folgende Pseudocode: #define DEBUG 1 #define debug_print(args ...) if (DEBUG) fprintf(stderr, args) Wie wird dies mit einem Makro
Angenommen, ich habe eine Quelldatei mit vielen Präprozessoranweisungen. Ist es möglich zu sehen, wie es aussieht, nachdem der Präprozessor damit fertig
Ich möchte ein Makro in C schreiben, das eine beliebige Anzahl von Parametern akzeptiert, keine bestimmte Anzahl Beispiel: #define macro( X ) something_complicated( whatever( X ) ) Wo Xist eine beliebige Anzahl von Parametern Ich brauche das, weil whateveres überlastet ist und mit 2 oder 4...
Ich brauche meinen Code, um verschiedene Dinge zu tun, basierend auf dem Betriebssystem, auf dem er kompiliert wird. Ich suche so etwas: #ifdef OSisWindows // do Windows-specific stuff #else // do Unix-specific stuff #endif Gibt es eine Möglichkeit, dies zu tun? Gibt es einen besseren Weg, um...
Was ist der Grund für die folgende Warnung in einigen C ++ - Compilern? Kein Zeilenumbruch am Dateiende Warum sollte ich am Ende einer Quell- / Header-Datei eine leere Zeile
Ich habe zwei Makros FOO2und FOO3: #define FOO2(x,y) ... #define FOO3(x,y,z) ... Ich möchte ein neues Makro FOOwie folgt definieren: #define FOO(x,y) FOO2(x,y) #define FOO(x,y,z) FOO3(x,y,z) Dies funktioniert jedoch nicht, da Makros die Anzahl der Argumente nicht überladen. Ohne Modifikation...
Geschlossen . Diese Frage muss fokussierter sein . Derzeit werden keine Antworten akzeptiert. Möchten Sie diese Frage verbessern? Aktualisieren Sie die Frage so, dass sie sich nur auf ein Problem konzentriert, indem Sie diesen Beitrag bearbeiten . Geschlossen vor 2 Jahren . Verbessere diese Frage...
Im Gegensatz zu Objective-C verfügt Swift über keinen Präprozessor. Gibt es also noch eine Möglichkeit, Mitglieder einer Klasse manuell zu verwerfen? Ich suche etwas Ähnliches: -(id)method
Wie kann ich in #ifdef eine 'oder' Bedingung hinzufügen? Ich habe versucht: #ifdef CONDITION1 || CONDITION2 #endif Das funktioniert
Vorausgesetzt , dass Ihre C ++ Compiler unterstützt sie, gibt es einen bestimmten Grund , nicht zu verwenden __FILE__, __LINE__und __FUNCTION__für die Protokollierung und Debugging - Zwecke? Es geht mir in erster Linie darum, dem Benutzer irreführende Daten zu geben - beispielsweise die falsche...