Was macht die Option -c in GCC [closed]

Lesezeit: 3 Minuten

Benutzer-Avatar
Weadadada Awda

Weiß jemand was das bedeutet -c Flagge machen gcc?

Was ist zum Beispiel der Unterschied zwischen

gcc -c output0.c
vs gcc output0.c

Ich weiß, der zweite macht einen .a Datei, aber ich weiß nicht, was für eine .a Datei ist.

Auch was bedeutet -o rein machen

gcc output0.o -o output0

Ist es nur, die Ausgabedatei richtig zu benennen?

  • Ich empfehle Ihnen, die zu lesen Online-Dokumentation. Zum Beispiel der Abschnitt mit dem Namen “3.2 Optionen zur Steuerung der Art der Ausgabe”

    – Irgendein Programmierer-Typ

    6. Februar 2013 um 8:12 Uhr


  • Ich denke, das Beste, was Sie tun können, ist, die Handbuchseite für gcc zu lesen.

    – Pedro Rodrigues

    6. Februar 2013 um 8:12 Uhr

  • “Nur kompilieren” gcc -c erzeugt nur eine Objektdatei. Um eine ausführbare Datei zu erzeugen, müssen Sie den Linker erneut aufrufen. Vielleicht, man gcc? 🙂

    – PP

    6. Februar 2013 um 8:12 Uhr

  • Wenn Sie sich die anderen Fragen ansehen, die Sie bereits gestellt haben, müssen Sie im Allgemeinen lernen, wie Sie frei verfügbare Informationen verwenden, bevor Sie andere mit Ihren Fragen belästigen. Wenn Sie ein Linux-System verwenden, man ist dein Freund. Und wenn Sie es nicht lokal finden, verwenden Sie zuerst eine Suchmaschine.

    – Jens Gustedt

    6. Februar 2013 um 8:20 Uhr


Benutzer-Avatar
StarPinkER

-c

Kompilieren oder assemblieren Sie die Quelldateien, aber verknüpfen Sie sie nicht. Die Verknüpfungsphase ist einfach nicht abgeschlossen. Die endgültige Ausgabe liegt in Form einer Objektdatei für jede Quelldatei vor.

Standardmäßig wird der Objektdateiname für eine Quelldatei erstellt, indem die Endung .c, .i, .s usw. durch .o ersetzt wird. Nicht erkannte Eingabedateien, die keine Kompilierung oder Assemblierung erfordern, werden ignoriert.

-o Datei

Ausgabe in Datei Datei platzieren. Dies gilt unabhängig davon, welche Art von Ausgabe erzeugt wird, sei es eine ausführbare Datei, eine Objektdatei, eine Assembler-Datei oder vorverarbeiteter C-Code. Wenn -o nicht angegeben ist, wird standardmäßig eine ausführbare Datei in a.out abgelegt, die Objektdatei für source.suffix in source.o, ihre Assembler-Datei in source.s, eine vorkompilierte Header-Datei in source.suffix.gch , und alle vorverarbeiteten C-Quellen auf der Standardausgabe.

Mehr ist in zu finden GCC-Handbuchseite

Benutzer-Avatar
GVers

Aus man gcc:

-c Quelldateien kompilieren oder assemblieren, aber nicht verknüpfen. Die Verknüpfungsphase ist einfach nicht abgeschlossen. Die endgültige Ausgabe liegt in Form einer Objektdatei für jede Quelldatei vor.

Standardmäßig wird der Objektdateiname für eine Quelldatei erstellt, indem die Endung .c, .i, .s usw. durch .o ersetzt wird.

Nicht erkannte Eingabedateien, die keine Kompilierung oder Assemblierung erfordern, werden ignoriert.

Benutzer-Avatar
Laufen

-c weist gcc an, nur die Quelldatei in eine .o-Datei (Objekt) zu kompilieren, ruft aber nicht den Linker auf.

Bei einem Projekt, das viele .c-Dateien enthält, wird man normalerweise zuerst alle .c-Dateien zu .o-Dateien kompilieren und dann alles zusammen mit den Bibliotheken verknüpfen.

-c

Kompilieren oder assemblieren Sie die Quelldateien, aber verknüpfen Sie sie nicht. Die Verknüpfungsphase ist einfach nicht abgeschlossen. Die endgültige Ausgabe liegt in Form einer Objektdatei für jede Quelldatei vor.

Standardmäßig wird der Objektdateiname für eine Quelldatei gebildet, indem das Suffix >.c, .i, .s usw. durch .o ersetzt wird.

Nicht erkannte Eingabedateien, die keine Kompilierung oder Assemblierung erfordern, werden ignoriert.

Quelle

1054750cookie-checkWas macht die Option -c in GCC [closed]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy