Spezifische Verwendung des Linux-gcc-Befehls

Spezifische Verwendung des Linux-gcc-Befehls

01. Befehlsübersicht

Der Befehl gcc verwendet den von GNU eingeführten C/C++-basierten Compiler. Es ist der am weitesten verbreitete Compiler im Open-Source-Bereich. Er verfügt über leistungsstarke Funktionen und kompiliert Code, um die Leistungsoptimierung zu unterstützen.

gcc ist die GNU Compiler Collection, die die Frontends von C, C++, Objective-C, Fortran, Java, Ada, Go und D sowie Bibliotheken für diese Sprachen (wie libstdc++, libgcj usw.) umfasst. GCC sollte ursprünglich ein Compiler sein, der speziell für das GNU-Betriebssystem geschrieben wurde. Das GNU-System ist vollständig freie Software. „Frei“ bedeutet hier, dass die Freiheit des Benutzers respektiert wird.

02. Befehlsformat

Verwendung: gcc [Optionen] Datei...

03. Gemeinsame Optionen

 -pass-exit-codes Gibt den höchsten Fehlercode beim Verlassen eines bestimmten Stadiums zurück --help Zeigt diese Hilfebeschreibung an --target-help Zeigt zielcomputerspezifische Kommandozeilenoptionen an --help={common|optimizers|params|target|warnings|[^]
 {verbunden|getrennt|undokumentiert}}[,...]
              Zeigt Befehlszeilenoptionen für einen bestimmten Typ an (verwenden Sie „-v --help“, um die Befehlszeilenargumente für den Unterprozess anzuzeigen)
 --version Zeigt Versionsinformationen zum Compiler an. -dumpspecs Zeigt alle integrierten Spezifikationszeichenfolgen an. -dumpversion Zeigt die Versionsnummer des Compilers an. -dumpmachine Zeigt den Zielprozessor des Compilers an. -print-search-dirs Zeigt den Suchpfad des Compilers an. -print-libgcc-file-name Zeigt den Namen der zugehörigen Bibliothek des Compilers an. -print-file-name=<library> Zeigt den vollständigen Pfad zu <library> an. -print-prog-name=<program> Zeigt den vollständigen Pfad zur Compilerkomponente <program> an. -print-multiarch Zeigt das normalisierte GNU-Triplet des Ziels an, das verwendet wird als
              eine Komponente im Bibliothekspfad
 :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::3s::::::333:33333333333333333333ag33333333333333333333333333333 es333333333333333333333333333333 es33 nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht dann dann dann dann aber33333333333333333333 nicht3 nicht3 nicht3 nicht3 nicht3 nicht3 nicht3 nicht3 dann3 dann3 aber3 dann3 nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht dann nichtie dasen aber aber abersossoss aberstens aberstensss aberten aber abers :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::3s::::::333:33333333333333333333ag33333333333333333333333333333 es333333333333333333333333333333 es33 nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht dann dann dann dann aber33333333333333333333 nicht3 nicht3 nicht3 nicht3 nicht3 nicht3 nicht3 nicht3 dann3 dann3 aber3 dann3 nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht dann nichtie dasen aber aber abersossoss aberstens aberstensss aberten aber abers :::::::::::
 -pie Erstellt eine positionsunabhängige ausführbare Datei
 -shared Eine gemeinsam genutzte Bibliothek erstellen
 -x <Sprache> gibt die Sprache der folgenden Eingabedateien an. Zulässige Sprachen sind: c c++ Assembler keine
              „Keine“ bedeutet, das Standardverhalten wiederherzustellen, bei dem die Sprache der Quelldatei anhand der Dateierweiterung erraten wird.

04. Referenzbeispiele

4.1 Generieren Sie eine standardmäßige ausführbare Datei

[deng@localhost bak]$ gcc test.c 
[deng@localhost zurück]$

Vorverarbeiten, Assemblieren, Kompilieren und Verknüpfen von test.c in einer ausführbaren Datei. Wenn keine Ausgabedatei angegeben ist, ist die Standardausgabe a.out.

4.2 Ausgabedateien angeben

[deng@localhost bak]$ gcc test.c -o test
[deng@localhost bak]$ ls
5. 6. 7. 8. 9. Testtest.c
[deng@localhost zurück]$ 
 

Vorverarbeiten, Assemblieren, Kompilieren und Verknüpfen von test.c, um die ausführbare Datei test zu erstellen. Mit der Option -o wird der Name der Ausgabedatei angegeben.

4.3 Nur Vorverarbeitung, keine Kompilierung, Assemblierung oder Verknüpfung

[deng@localhost bak]$ gcc -E test.c -o test.i 
[deng@localhost zurück]$

Test.c vorverarbeiten und Datei test.i ausgeben.

4.4 In Assemblersprache kompilieren ohne Assembler und Link

[deng@localhost bak]$ gcc -S test.c -o test.s
[deng@localhost bak]$ ls
5. 6. 7. 8. 9. Test test.c test.i test.s
[deng@localhost zurück]$

Fügen Sie die vorverarbeitete Ausgabedatei test.i in die Datei test.s ein.

4.5 Kompilieren und Assemblieren zu Objektcode ohne Verknüpfen

[deng@localhost bak]$ gcc -c test.c -o test.o
[deng@localhost bak]$ ls
5. 6. 7. 8. 9. Test test.c test.i test.o test.s
[deng@localhost zurück]$

4.6 Ausführbare Datei aus Zielcode generieren

[deng@localhost bak]$ gcc test.o -o test
[deng@localhost zurück]$

Verknüpfen Sie die kompilierte Ausgabedatei test.o mit der endgültigen ausführbaren Datei test.

4.7 Festlegen von Optimierungsstufen beim Kompilieren

[deng@localhost bak]$ gcc -O1 test.c -o test
[deng@localhost zurück]$

Kompilieren Sie das Programm mit der Kompilierungsoptimierungsstufe 1. Die Stufen sind 1 bis 3. Je höher die Stufe, desto besser der Optimierungseffekt, aber desto länger die Kompilierungszeit.

4.8 Kompilierung mehrerer Dateien

[deng@localhost bak]$ gcc testfun.c test.c -o test
[deng@localhost zurück]$

Kompilieren Sie testfun.c und test.c separat und verknüpfen Sie sie mit der ausführbaren Testdatei.

4.9 Methode 2 zur Kompilierung mehrerer Dateien

[deng@localhost bak]$ gcc -c test.c  
[deng@localhost bak]$ gcc -c testfun.c  
[deng@localhost bak]$ gcc test.o testfun.o -o test
[deng@localhost zurück]$

Dies ist das Ende dieses Artikels über die spezifische Verwendung des Linux-gcc-Befehls. Weitere relevante Inhalte zum Linux-gcc-Befehl finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • So installieren Sie die Linux-Onlinesoftware gcc online
  • Installationsprozess des GCC-Compilers unter Linux
  • Detaillierte Erläuterung der Verwendung des gcc-Befehls unter Linux

<<:  Diagramm zur Installation von MySQL 5.6 unter Windows 7

>>:  Detaillierte Beispiele für den Unterschied zwischen den Methoden watch und computed in Vue.js

Artikel empfehlen

So aktualisieren Sie CentOS7 auf CentOS8 (detaillierte Schritte)

Dieser Artikel erläutert anhand eines konkreten B...

Redo-Dateiwartungsmethode der InnoDB-Engine

Wenn Sie die Größe und Anzahl der InnoDB-Redo-Log...

MySQL-Sortierung – Chinesische Details und Beispiele

Detaillierte Erklärung zur MySQL-Sortierung chine...

Das neueste Installations-Tutorial für virtuelle Maschinen VMware 14

Zuerst gebe ich Ihnen den Aktivierungscode für VM...

Zwei Arten von Tab-Anwendungen im Webdesign

Heutzutage werden Registerkarten häufig im Webdes...

Vue implementiert eine kleine Notizblockfunktion

In diesem Artikelbeispiel wird der spezifische Co...

Detaillierte Erklärung zu MySQL und Springs Autocommit

1 MySQL Autocommit-Einstellungen MySQL führt stan...

Lösung für das Problem mit verstümmeltem MySQL-Code unter Linux

Das Projekt interagiert mit dem Server, greift üb...

Teilen Sie einen auf Ace basierenden Markdown-Editor

Ich denke, Editoren lassen sich in zwei Kategorie...

Docker konfiguriert den Speicherort lokaler Images und Container

Verwenden Sie den Befehl „Find“, um Dateien zu fi...