Maison > développement back-end > C++ > Quand l'indicateur \'-stdlib=libstdc \' est-il requis lors de la compilation avec GCC ?

Quand l'indicateur \'-stdlib=libstdc \' est-il requis lors de la compilation avec GCC ?

Linda Hamilton
Libérer: 2024-10-24 01:27:29
original
252 Les gens l'ont consulté

When is the

Quand utiliser l'indicateur "-stdlib=libstdc" lors de la compilation avec GCC

Dans certains scénarios, définir explicitement le "-stdlib= L'indicateur libstdc " est nécessaire lors de la compilation avec GCC. Voici les circonstances :

Sous Linux :

Par défaut, les distributions Linux utilisent libstdc comme bibliothèque C standard. De plus, les versions modernes de GCC prennent intrinsèquement en charge C 11 dans leur libstdc fourni. Par conséquent, pour compiler du code C 11 sous Linux, il suffit d'utiliser l'indicateur "-std=c 11" avec g :

g++ -std=c++11 input.cxx -o a.out
Copier après la connexion

Sur OS X pré-Mavericks :

Historiquement, g sur OS X était un alias pour clang . Dans ce contexte, l'ancienne version de libstdc d'Apple était la version par défaut. Pour exploiter libc , qui incluait le support C 11, vous deviez spécifier explicitement "-stdlib=libc " :

g++ -std=c++11 -stdlib=libc++ input.cxx -o a.out
Copier après la connexion

Sur Mavericks et OS X ultérieur :

À partir d'OS X Mavericks, la libc est devenue la bibliothèque C par défaut. Par conséquent, il n'est pas nécessaire d'utiliser l'indicateur "-stdlib=" :

clang++ -std=c++11 input.cxx -o a.out
Copier après la connexion

Construire contre libstdc sur OS X :

À partir de Xcode 10, construire les applications contre libstdc ne sont plus prises en charge. Le code existant compilé avec libstdc continuera à fonctionner, mais la compilation de nouveau code n'est pas autorisée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal