Detaillierte Erläuterung der Verwendung des gcc-Befehls unter Linux

Detaillierte Erläuterung der Verwendung des gcc-Befehls unter Linux

1. Installation von gcc (am Beispiel von Ubuntu) sudo apt-get install build-essential

Nach der Installation können Sie die Version mit gcc --version überprüfen.

Lassen Sie uns seine grundlegende Anwendung beim Kompilieren ausführbarer Dateien durch gcc meistern.

Vorbereitung: Erstellen Sie zunächst mit vim eine .c-Datei im aktuellen Verzeichnis, zum Beispiel 666.c

 $ vim 666.c

(Die Verwendung von vim kann in einem anderen Blog von mir ausführlich beschrieben werden, daher werde ich hier nicht ins Detail gehen.)

Geben Sie einen Code ein.

 #include <stdio.h>
hauptsächlich()
{
	int a,i;
	ein = 6;
	für (i = 0; i < 3; i++)
	{
		drucken("%d",a);
	}
} 

(Jedes Mal, wenn wir cat zur Überprüfung verwenden)

1. Vorverarbeitung

1. Die Vorverarbeitung erweitert Makrodefinitionen (wie #define), erweitert Headerdateien (wie stdio.h), kompiliert Bedingungen (wie ifdef), erweitert alle Makros und löscht alle Kommentare (wie "//"). Die Vorverarbeitung cpp kompiliert Quellcode und Headerdateien vorab in eine .i-Datei. (Beachten Sie, dass die Syntax derzeit nicht geprüft wird. Auch bei Syntaxfehlern wird daher kein Fehler gemeldet.)

2. Befehl:

 $ gcc -E (Quelldateiname) -o (Präprozessordateiname)

oder:

 $ gcc (Quelldateiname) > (Präprozessordateiname)

Beispielsweise kann die Vorverarbeitung gemäß 666.c wie folgt aussehen:

gcc -E 666.c -o 666.i

Es kann auch gcc 666.c > 666.i sein

2. Zusammenstellung

1. Unter Kompilieren versteht man die Überprüfung auf korrekte Syntax und das Kompilieren der vorverarbeiteten Datei in eine Assemblydatei.

2. Befehl:

$ gcc -S (Quelldatei) -o (Assemblydatei)

Beispiel: gcc -S 666.i -o 666.s

3. Zusammenstellung

1. Assembly bedeutet das Erzeugen von Zieldateien (Binärdateien) aus Assemblydateien. Durch die Assembly werden Textcodes in Binärcodes umgewandelt. (Binärcodedateien haben die Endung .o).

2. Befehl:

 $ gcc -c (Assemblydatei) -o (Objektdatei)

Beispiel: gcc -c 666.s -o 666.o

(Da es sich um eine Binärdatei handelt, wird sie verstümmelt.)

4. Links

1. Verknüpfen Sie, um abhängige Bibliotheksdateien (statisch und dynamisch) zu finden und die Zieldateien in ein ausführbares Programm zu verknüpfen.

 $ gcc -c [Zieldatei] -o [ausführbares Programm] -l [Name der dynamischen Bibliothek]

Wenn keine dynamische Bibliothek vorhanden ist (normalerweise)

direkt

 $ gcc -c [Zieldatei] -o [ausführbares Programm] 

Beispiel: gcc -c 666.o -o 666

Zu diesem Zeitpunkt wird ein ausführbares Programm 666 generiert

Wenn Sie diesen Befehl ausführen möchten:

 $ ./ausführbares Programm

Das ./ bedeutet im aktuellen Verzeichnis.

Zum Beispiel./666

(Hinweis: Wenn wir den Namen der ausführbaren Datei von gcc verwenden, wird im Allgemeinen standardmäßig eine ausführbare Datei a.out generiert. In diesem Fall können wir ./a.out verwenden, um sie direkt auszuführen.)

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

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

<<:  Teilen Sie die 15 besten HTML/CSS-Design- und Entwicklungsframeworks

>>:  Detaillierte Erklärung, wie man IP-Adressen effektiv in MySQL speichert und wie man zwischen String-IP und numerischen Werten konvertiert

Artikel empfehlen

Die Lösung von html2canvas, dass Bilder nicht normal erfasst werden können

Frage Lassen Sie mich zunächst über das Problem s...

js zur Implementierung einer Interferenz mit Verifizierungscodes (statisch)

In diesem Artikel wird der spezifische Code von j...

Installationsschritte von Docker-CE auf dem Raspberry Pi 4b Ubuntu19-Server

Das Raspberry Pi-Modell ist 4b, 1 G RAM. Das Syst...

Vue-Komponente kapselt Beispielcode zum Hochladen von Bildern und Videos

Laden Sie zuerst die Abhängigkeiten herunter: cnp...

So verwenden Sie den EXPLAIN-Befehl in SQL

Bei unserer täglichen Arbeit führen wir manchmal ...

So übertragen Sie Dateien zwischen Windows und Linux

Dateiübertragung zwischen Windows und Linux (1) V...

JS implementiert einen einfachen TodoList-Effekt (Notizblock)

Das Notizblockprogramm wird mithilfe der drei wic...

JavaScript-Lösung für die Setinterval-Verzögerung um eine Sekunde

Bei Verwendung von setinterval wird festgestellt,...

Vier Methoden zur Verwendung von JS zur Bestimmung von Datentypen

Inhaltsverzeichnis Vorwort 1. Art von 2. Instanz ...

Detailliertes Tutorial zur Installation und Bereitstellung von Nginx Linux

1. Einführung in Nginx Nginx ist ein Webserver, d...

So verwenden Sie CSS-Zähler, um geordnete Zahlenlisten zu verschönern

Beim Webdesign ist es sehr wichtig, eine organisi...