2013-05-27 12 views
6

Mi chiedevo quali librerie standard di C++ sono in uso in diversi compilatori C++. Ho provato a cercarlo, ma non sono riuscito a trovare un elenco completo.Implementazioni di libreria standard C++ in diversi compilatori

So che l'implementazione di Dinkumware è utilizzata da msvc e icc, libstdC++ è utilizzato da gcc e libC++ è utilizzato in clang. Ma per quanto riguarda Digital Mars C++, o bcc di Embarcadero, o xlC++ di IBM?

+1

Nota che clang può anche usare 'libstdC++'. – Morwenn

+0

L'icc corrente utilizza le librerie gcc std, penso. Ad ogni modo, sono curioso di sapere perché vorrai avere queste informazioni? – user93353

+0

@ user93353: Nel mio caso particolare, nulla di così importante in realtà. Solo una discussione tra colleghi che ha portato a questa domanda. E sono diventato più curioso, dato che non sono riuscito a trovare una lista di quelle informazioni. –

risposta

4

Una rosa:

  • GCC: utilizza il proprio libstdC++.
  • MSVC: utilizza il proprio msvcrp, che viene acquistato da Dinkumware, quindi smembrato per aggirare il cattivo supporto del linguaggio C++ di MSVC (quindi non è più Dinkumware).
  • Clang: utilizza la libC++ di LLVM se ha superato l'opzione -stdlib=libc++. Può anche usare GCC's libstdC++ e in teoria (ma non in pratica) anche la libreria di MSVC (dico in teoria perché Clang attualmente può solo analizzare le intestazioni C++, ma non collegare il codice generato alla libreria).
  • ICC: utilizza GCC libstdC++ su Linux e la libreria MSVC su Windows. Cerca anche di imitare entrambi i compilatori su queste piattaforme.

Nota ci sono altri compilatori e implementazioni di librerie C++ (indipendenti) non trattate qui.

Problemi correlati