Heim  >  Artikel  >  Backend-Entwicklung  >  Wie entferne ich Kommentare aus C/C-Code ohne Präprozessor?

Wie entferne ich Kommentare aus C/C-Code ohne Präprozessor?

Susan Sarandon
Susan SarandonOriginal
2024-11-24 02:39:17350Durchsuche

How to Remove Comments from C/C   Code Without a Preprocessor?

So entfernen Sie Kommentare aus C/C-Quellcode

Das Entfernen von Kommentaren aus einer C/C-Quelldatei ohne Verwendung eines Präprozessors kann ein Problem sein aus verschiedenen Gründen eine sinnvolle Aufgabe. Glücklicherweise gibt es ein vorhandenes Tool, das diese Aufgabe effizient bewältigen kann: die GNU Compiler Collection (GCC).

Verwenden von GCC zum Entfernen von Kommentaren

Um Kommentare aus einem zu entfernen Um die Quelldatei mithilfe von GCC zu erstellen, führen Sie den folgenden Befehl aus:

gcc -fpreprocessed -dD -E -P test.c

Erläuterung von GCC Flags:

  • -fpreprocessed: Erzeugt und druckt die vorverarbeitete Ausgabe, ohne den Code zu kompilieren.
  • -dD: Definiert alle Makros.
  • -E: Verarbeitet nur den Code vor, ohne ihn zu kompilieren oder zu assemblieren.
  • -P: Unterdrückt Zeilennummern und Makroerweiterungsanweisungen in der Ausgabe.

Beispielverwendung:

Betrachten Sie die folgende Beispielquellcodedatei test.c:

#define foo bar
foo foo foo
#ifdef foo
#undef foo
#define foo baz
#endif
foo foo
/* comments? comments. */
// c++ style comments

Das Ausführen des obigen GCC-Befehls auf test.c führt zu Folgendem Ausgabe:

#define foo bar
foo foo foo
#ifdef foo
#undef foo
#define foo baz
#endif
foo foo

Wie Sie sehen können, wurden alle Kommentare erfolgreich entfernt, während der Rest des Codes unverändert bleibt. Diese Methode bietet einen zuverlässigen und automatisierten Ansatz zum Entfernen von Kommentaren aus C/C-Quellcode, ohne dass benutzerdefinierte Regex-Implementierungen oder manuelle Bearbeitung erforderlich sind.

Das obige ist der detaillierte Inhalt vonWie entferne ich Kommentare aus C/C-Code ohne Präprozessor?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn