Pregunta

Para muchas preguntas la respuesta parece encontrarse en "la norma".Sin embargo, ¿dónde encontramos eso?Preferiblemente en línea.

Buscar en Google a veces puede parecer inútil, especialmente para los estándares C, ya que están ahogados en la avalancha de discusiones en los foros de programación.

Para comenzar, dado que estos son los que estoy buscando en este momento, ¿dónde hay buenos recursos en línea para:

  • C89
  • C99
  • C11
  • C++98
  • C++03
  • C++11
  • C++14
¿Fue útil?

Solución

Versiones PDF del estándar

A partir del 1 de septiembre de 2014, las mejores ubicaciones por precio para documentos estándar C y C++ en PDF son:

Por lo general, no es posible obtener revisiones antiguas de una norma (cualquier norma) directamente de los organismos de normalización poco después de que se publica una nueva edición de la norma.Por lo tanto, los estándares para C89, C90, C99, C++98, C++03 serán difíciles de encontrar para su compra en un organismo de normalización.Si necesita una revisión antigua de una norma, consulte Calle tecnológica como una posible fuente.Por ejemplo, aún puede proporcionar la versión canadiense del estándar CAN/CSA-ISO/IEC 9899:1990 en PDF, por una tarifa.

Versiones electrónicas del estándar que no son PDF

Versiones impresas del estándar.

Copias impresas de las normas están disponibles en los organismos nacionales de normalización y YO ASI pero son muy caros.

Si desea una copia impresa del estándar C90 por mucho menos dinero que el anterior, es posible que pueda encontrar una copia usada barata de Hierba Schildtel libro El estándar ANSI anotado en Amazonas, que contiene el texto real de la norma (útil) y comentarios sobre la norma (menos útiles).

Los estándares C99 y C++03 están disponibles en forma de libro en Wiley y el BSI (British Standards Institute):

Versiones preliminares del comité de normas

El borrador de trabajo para futuras normas suele estar disponible en los sitios web del comité:

Tenga en cuenta que estos documentos no son los mismos que la norma, aunque las versiones justo antes de las reuniones que deciden sobre una norma suelen ser muy parecidas a lo que figura en la norma final.Las versiones FCD (Borrador del Comité Final) están protegidas con contraseña;debes estar en el comité de estándares para obtenerlos.

Sin embargo, en mi opinión, aunque las versiones preliminares pueden ser muy cercanas a las versiones finales ratificadas de los estándares, realmente debería obtener una copia de los documentos reales, especialmente si planea citarlos como referencias.Por supuesto, los estudiantes hambrientos deberían seguir adelante y utilizar los giros si no tienen dinero en efectivo.


Parece que, si está dispuesto y es capaz de esperar unos meses después de la ratificación de una norma, la clave es buscar "INCITS/ISO/IEC" en lugar de "ISO/IEC" cuando busque una norma.De esta manera pude encontrar el estándar C++11 a un precio razonable y ahora el estándar C11.Entonces, como ejemplo, busque "INCITS/ISO/IEC 9899:2011" en lugar de "ISO/IEC 9899:2011" en tienda web.ansi.org y encontrará la versión PDF a un precio razonable.


El sitio https://wg21.link/ proporciona enlaces de URL cortos al borrador de trabajo actual de C++ y al borrador de los estándares, y a los documentos del comité:


El borrador actual del estándar se mantiene como fuente LaTeX en GitHub.Estas fuentes se pueden convertir a HTML usando cxxdraft-htmlgen.Los siguientes sitios mantienen páginas HTML así generadas:

canción de tim También mantiene versiones HTML y PDF generadas de Networking TS y Ranges TS.

Otros consejos

Se pueden encontrar versiones en línea del estándar:

Borrador de trabajo, estándar para el lenguaje de programación C++

A continuación se muestran todos los borradores de la norma.:
Todo lo siguiente se puede descargar gratuitamente.
2019-03-15: N4810 git
2019-01-21: N4800 git
2018-11-26: N4791 git
2018-10-08: N4778 git
2018-07-07: N4762 git
2018-05-07: N4750 git
2018-04-02: N4741 git
2018-02-12: N4727 git
2017-11-27: N4713 git
2017-10-16: N4700 git
2017-07-30: N4687 git

Este parece ser el nuevo estándar:
Esta versión requiere autenticación.
2017-03-21: N4660 es el borrador del estándar C ++ 17

A continuación se muestran todos los borradores de la norma.:
Todo lo siguiente se puede descargar gratuitamente.
2017-03-21: N4659 git
2017-02-06: N4640 git
2016-11-28: N4618 git
2016-07-12: N4606 git
2016-05-30: N4594 git
2016-03-19: N4582 git
2015-11-09: N4567 git
2015-05-22: N4527 git
2015-04-10: N4431 git
2014-11-19: N4296 git

Este parece ser el antiguo estándar C++14.:
Esta versión requiere autenticación.
2014-10-07: N4140 git Esencialmente C++14 con errores menores y errores tipográficos corregidos
2014-09-02: N4141 git Estándar C++14
2014-03-02: N3937
2014-03-02: N3936 git

A continuación se muestran todos los borradores de la norma.:
Todo lo siguiente se puede descargar gratuitamente.
2013-10-13: N3797 git
2013-05-16: N3691
2013-05-15: N3690
2012-11-02: N3485
2012-02-28: N3376
2012-01-16: N3337 git Esencialmente C++ 11 con errores menores y errores tipográficos corregidos.

Este parece ser el antiguo estándar C++11.:
Esta versión requiere autenticación
2011-04-05: N3291 C++11 (o muy cerca)

A continuación se muestran todos los borradores de la norma.:
Todo lo siguiente se puede descargar gratuitamente.
2011-02-28: N3242 (las diferencias con N3291 son muy pequeñas)
2010-11-27: N3225
2010-08-21: N3126
2010-03-29: N3090
2010-02-16: N3035
2009-11-09: N3000
2009-09-25: N2960
2009-06-22: N2914
2009-03-23: N2857
2008-10-04: N2798
2008-08-25: N2723
2008-06-27: N2691
2008-05-19: N2606
2008-03-17: N2588
2008-02-04: N2521
2007-10-22: N2461
2007-08-06: N2369
2007-06-25: N2315
2007-05-07: N2284
2006-11-03: N2134
2006-04-21: N2009
2005-10-19: N1905
2005-04-27: N1804

Este parece ser el antiguo estándar C++03:
Todas las versiones siguientes requieren autenticación
2004-11-05: N1733
2004-07-16: N1655 No oficial
2004-02-07: N1577 C++03 (o muy cerca)
2001-09-13: N1316 Proyecto de corrección técnica ampliada
1997-00-00:N1117 Borrador de corrección técnica ampliada

A continuación se muestran todos los borradores de la norma.:
Todo lo siguiente se puede descargar gratuitamente.
1996-00-00: N0836 Proyecto de corrección técnica ampliada
1995-00-00:N0785 Documento de trabajo para el borrador de norma internacional propuesta para sistemas de información: lenguaje de programación C++

Otros artículos interesantes:

2019 / 2018 / 2017 / 2016 / 2015 / 2014 / 2013 / 2012 / 2011

C99 es disponible en linea.Citado de www.open-std.org:

La última versión públicamente disponible del estándar es la combinación C99 + TC1 + TC2 + TC3, WG14 N1256, de fecha 7 de septiembre de 2007.Este es un documento de trabajo WG14, pero refleja el estándar consolidado en el momento del problema.

Enlaces borrador:

C++11 (+correcciones editoriales):N3337 HTML, PDF

C++14 (+correcciones editoriales):N4140 HTML, PDF

C11 N1570 (texto)

C99 N1256

Borradores de la Norma se circulan para comentarios antes de su ratificación y publicación.

Nota que un borrador de trabajo no es la norma actualmente vigente y no es exactamente la norma publicada

Podrías encontrar el proyecto de norma internacional para C++ 0x útil.

Los estándares ISO cuestan dinero, desde una cantidad moderada (para una versión en PDF) hasta un poco más (para una versión en libro).

Si bien no están finalizados, generalmente se pueden encontrar en línea, como borradores.La mayoría de las veces, la versión final no difiere significativamente del último borrador, por lo que, aunque no son perfectas, encajarán perfectamente.

Los estándares C99 y C++03 están disponibles en forma de libro en Wiley:

Además, como ya se mencionó, el borrador de trabajo para futuras normas suele estar disponible en los sitios web del comité:

El borrador del C-201x está disponible como N1336, y el borrador de C++ 0x como N3225.

Los estándares ISO C y C++ son muy caros.En cambio, el INCITS los republica por mucho menos. http://www.techstreet.com/ Parece tener el PDF por $ 30 (búsqueda de incits/ISO/IEC 14882: 2003).

También hay disponibles versiones impresas.Busque las versiones del British Standards Institute, publicadas por Wiley.

El texto de un borrador de la norma ANSI C (también conocido como C.89) está disponible en línea.Esto fue estandarizado por el comité ANSI antes de su aceptación por la norma ISO C (C.90), por lo que la numeración de las secciones difiere (las secciones 2 a 4 de ANSI corresponden aproximadamente a las secciones 5 a 7 de ISO), aunque el contenido (se supone ser) en gran medida idénticos.

Los documentos de estándares reales pueden no ser los más útiles.La mayoría de los compiladores no implementan completamente los estándares y, en ocasiones, pueden entrar en conflicto.Por lo tanto, la documentación del compilador que ya tendrá será más útil.Además, la documentación contendrá comentarios y notas específicos de la plataforma sobre cualquier advertencia.

Aunque no es un estándar real, existe una enmienda a ISO C (C89/90) llamada C94/95, o Anexo Normativo 1.Fue integrado en C99, aunque algunos compiladores como Sonido metálico le permite especificar -std=c94 en la línea de comando.ISO/IEC 9899:1990/Amd 1:1995 se puede adquirir por un precio elevado en EFS MUNDIAL (PDF o copia impresa).

Se puede encontrar un resumen del documento. aquí.

Cuando el estándar (entonces borrador) Ansi C se estaba considerando para la adopción de un estándar internacional en 1990, hubo varias objeciones porque no abordó los problemas de internacionalización.Debido a que el estándar ya había pasado varios años en la creación, se acordó que se realizarían algunos cambios para proporcionar la base (por ejemplo, las funciones en la subcláusula 7.10.7 se agregaron), y el trabajo se llevaría a cabo por separado para proporcionar Internacionalización adecuada del estándar.Este trabajo ha culminado en el Anexo Normativo 1.

El Anexativo Anexo 1 encarna la reacción de C tanto a las limitaciones como a las promesas de los conjuntos de caracteres internacionales.Los dígrafos y el encabezado estaban destinados a mejorar la aparición de los programas C escritos en variantes nacionales de ISO 646 sin, por ejemplo, {o} caracteres.En el otro extremo del espectro, las instalaciones se conectan y extienden la base apenas adecuada del Antiguo Estándar en un conjunto completo y consistente de servicios públicos para manejar amplios caracteres y cadenas multibyte.

Este documento resume el Anexo Normativo 1.Está destinado a informar rápidamente a los lectores que ya están familiarizados con el estándar;No es, y no puede, introducir el tema complejo detrás de NA1, ni puede reemplazar el documento original como un manual de referencia.(Sin embargo, intenta ser lo más preciso posible, y su autor le gustaría saber sobre cualquier error u omisión).

http://c0x.coding-guidelines.com/ contiene una versión del estándar C basada en HTML con capacidad de búsqueda.En realidad, una versión ligeramente modificada:

Este sitio web contiene una versión modificada de N1256.Incluye la redacción que se ha eliminado de C99 (es decir, en forma golpeada) y la redacción que solía aparecer en C99 (es decir, en forma subrayada).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top