Heim > Backend-Entwicklung > C++ > Wann ist das Flag „-stdlib=libstdc' beim Kompilieren mit GCC erforderlich?

Wann ist das Flag „-stdlib=libstdc' beim Kompilieren mit GCC erforderlich?

Linda Hamilton
Freigeben: 2024-10-24 01:27:29
Original
226 Leute haben es durchsucht

When is the

Wann sollte das Flag „-stdlib=libstdc“ beim Kompilieren mit GCC verwendet werden?

In einigen Szenarien kann das explizite Festlegen von „-stdlib= Das Flag „libstdc“ ist beim Kompilieren mit GCC erforderlich. Hier sind die Umstände:

Unter Linux:

Standardmäßig verwenden Linux-Distributionen libstdc als Standard-C-Bibliothek. Darüber hinaus unterstützen moderne Versionen von GCC von Natur aus C 11 in ihrer gebündelten libstdc . Um C 11-Code unter Linux zu kompilieren, sollte daher die einfache Verwendung des Flags „-std=c 11“ mit g ausreichen:

g++ -std=c++11 input.cxx -o a.out
Nach dem Login kopieren

Auf Pre-Mavericks OS X:

Historisch gesehen war g unter OS X ein Alias ​​für clang . In diesem Zusammenhang war Apples ältere Version von libstdc die Standardeinstellung. Um libc zu nutzen, das C 11-Unterstützung beinhaltete, mussten Sie explizit „-stdlib=libc“ angeben:

g++ -std=c++11 -stdlib=libc++ input.cxx -o a.out
Nach dem Login kopieren

Auf Mavericks und höher OS X:

Beginnend mit OS X Mavericks wurde libc zur Standard-C-Bibliothek. Dementsprechend besteht keine Notwendigkeit, das Flag „-stdlib=" zu verwenden:

clang++ -std=c++11 input.cxx -o a.out
Nach dem Login kopieren

Building gegen libstdc unter OS Anwendungen gegen libstdc werden nicht mehr unterstützt. Vorhandener Code, der mit libstdc kompiliert wurde, funktioniert weiterhin, eine neue Codekompilierung ist jedoch nicht zulässig.

Das obige ist der detaillierte Inhalt vonWann ist das Flag „-stdlib=libstdc' beim Kompilieren mit GCC erforderlich?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage