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

JS-Version des Bildlupeneffekts

In diesem Artikel wird der spezifische JS-Code zu...

So richten Sie einen URL-Link im Nginx-Server ein

Websites mit einer Architektur wie LNMP werden im...

Tutorial zur Installation von MySQL 5.7.18 unter Windows 10

In diesem Tutorial erfahren Sie alles über die In...

Reagieren Sie auf die Verarbeitung von Fehlergrenzkomponenten

Dies ist der Inhalt von React 16. Es ist nicht di...

So lösen Sie das Problem des verstümmelten DOS-Fensters in MySQL

Das Problem mit dem verstümmelten Code ist folgen...

Vue3+TypeScript kapselt Axios und implementiert Anforderungsaufrufe

Auf keinen Fall. Es stellt sich heraus, dass es L...

Zusammenfassung der allgemeinen APIs und erweiterten APIs von Vue

Inhaltsverzeichnis nächstesTick Mixins $forceUpda...

Die neueste Sammlung von 18 Webdesign-Arbeiten im grünen Stil

Toy Story 3 Online-Marketing-Website Zen Mobile E...

Detaillierte Erklärung der JavaScript-Datentypen

Inhaltsverzeichnis 1. Literale 1.1 Numerische Lit...

Lösung für das Problem des MySQL-Master-Slave-Switch-Kanals

Nach der VIP-Konfiguration wird beim Aktiv/Standb...

Analyse langsamer Einfügefälle aufgrund großer Transaktionen in MySQL

【Frage】 Die INSERT-Anweisung ist eine der am häuf...