Heim >Backend-Entwicklung >C++ >Warum erfordert das Kompilieren von „info.c' mit GCC das Flag „-lstdc'?

Warum erfordert das Kompilieren von „info.c' mit GCC das Flag „-lstdc'?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-29 19:25:21517Durchsuche

Why Does Compiling `info.c` with GCC Require the `-lstdc  ` Flag?

C-Programme mit GCC kompilieren

Während GCC in der Lage ist, C-Code zu kompilieren, treten beim Versuch, „info.c " sind auf Linkerfehler zurückzuführen. Diese Fehler sind auf die fehlende Verknüpfung mit der Standard-C-Bibliothek zurückzuführen.

Um dieses Problem zu beheben, fügen Sie dem Kompilierungsbefehl das Flag -lstdc hinzu:

gcc info.C -lstdc++

Alternativ gibt es eine einfachere Lösung um g zu verwenden, was Folgendes bewirkt:

  • Wählt den geeigneten Back-End-Compiler basierend auf der Dateierweiterung aus, ähnlich wie GCC.
  • Kompiliert alle C-Quelldateien als C, im Gegensatz zur GCC-Kompilierung von .c-Dateien als C.
  • Bezieht standardmäßig libstdc in den Verknüpfungsschritt ein, unabhängig von den Eingabesprachen.

Der folgende Auszug aus einem Kommentar von Rup erklärt das kurz und bündig Unterschiede:

"GCC wählt den richtigen Back-End-Compiler basierend auf der Dateierweiterung aus. Allerdings verknüpft es Binärdateien standardmäßig nur mit den Standard-C- und GCC-Hilfsbibliotheken. Im Gegensatz dazu bezieht g libstdc in seinen Verknüpfungsschritt ein standardmäßig, unabhängig von den Eingabesprachen.“

Das obige ist der detaillierte Inhalt vonWarum erfordert das Kompilieren von „info.c' mit GCC das Flag „-lstdc'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn