2012-02-05 12 views
11

¿El compilador Intel tiene su propia biblioteca estándar, por ejemplo, implementaciones de std::cout etc. Quiero ajustar todo para Intel.Biblioteca estándar Intel (C++)

+7

Por favor, no diga "por ejemplo" :-) –

+1

La biblioteca estándar es _standard_, todos los compiladores tienen la misma interfaz de la biblioteca estándar – Lol4t0

+2

Esta pregunta es brillante. Aquellos que votaron en contra comprenderán su valor en el futuro. – Shibli

Respuesta

20

Hasta la versión 8, el ICC se envía con Dinkumware, es decir, la implementación de la biblioteca estándar que también se incluye con Microsoft Visual Studio:

La ++ Compiler Intel C para Windows utiliza los archivos de cabecera, bibliotecas y enlazador de Microsoft Visual C++. Microsoft controla los archivos de encabezado que definen el espacio de nombres.

Sin embargo, a partir de la versión 8,1

-cxxlib-gcc es ahora el predeterminado para C++
El STL y gcc * C bibliotecas ++ son ahora se utiliza de forma predeterminada al vincular aplicaciones C++, en lugar de las de Dinkumware * utilizadas en versiones anteriores. Si desea utilizar las bibliotecas Dinkumware, especifique el nuevo interruptor -cxxlib-icc. En una versión futura del compilador Intel C++, se eliminará la compatibilidad con el uso de las bibliotecas Dinkumware.

Por "bibliotecas STL y gcc C++", uno sólo puede asumir que se están refiriendo a libstdC++.

  • Entonces, ¿el ICC se envía con una implementación de biblioteca estándar? Sí.
  • ¿Se envía con una biblioteca implementada por Intel? No.
0

La biblioteca estándar de C++ está definida por el estándar C++. Cualquier compilador de estándares (que incluye ICC) proporciona una implementación de esta biblioteca, así que sí, ICC tiene su propio.

Sin embargo, no necesita "ajustar todo", ya que la interfaz de codificación es generalmente la misma en todas partes. Solo el código estándar C++ e ICC podrán compilarlo.

+0

clang no viene con una biblioteca en algunos sistemas, debe proporcionar una implementación por separado. –

+0

Luego en esos sistemas, no es un compilador conforme. – Puppy

+0

@DeadMG: es conforme una vez que proporcionó una implementación por separado. De manera similar, GCC no cumple con la norma hasta que se complete la transferencia de archivos del 'cc1plus' binario ... –

Cuestiones relacionadas