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
Linda Hamiltonoriginal
2024-10-24 01:27:29219parcourir

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

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

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

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!

Déclaration:
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