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:
|
<<: 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
Manchmal sehen Sie in der if-Anweisung in JavaScr...
Openlayers ist ein modulares, leistungsstarkes un...
<br />Statistiken zufolge hat sich die durch...
Verwenden des UNION-Operators Union : Wird verwen...
Inhaltsverzeichnis Vorwort Was sind Metadaten? Ad...
In diesem Artikel wird der spezifische JavaScript...
In diesem Artikelbeispiel wird der spezifische Im...
1. Nachfrage Das Backend stellt solche Daten bere...
Code der Front-End-Testseite: <Vorlage> <...
In diesem Artikel wird der spezifische Code zur V...
Erstens: über Text/HTML var txt1="<h1>...
Installieren Sie zunächst den OpenSSH-Server im D...
Mac wird mit Apache-Umgebung geliefert Öffnen Sie...
1. RTMP Das RTMP-Streaming-Protokoll ist ein von ...
Inhaltsverzeichnis 1. Rezeptsammlung 1.1 Projekth...