it-swarm-pt.tech

Onde encontro os documentos padrão C ou C ++ atuais?

Para muitas perguntas, a resposta parece ser encontrada no "padrão". No entanto, onde encontramos isso? De preferência online.

Às vezes, o Google pode parecer inútil, novamente especialmente para os padrões C, já que eles se afogam na enxurrada de discussões em fóruns de programação.

Para começar, já que esses são os que estou procurando agora, onde há bons recursos online para:

  • C89
  • C99
  • C11
  • C++ 98
  • C++ 03
  • C++ 11
  • C++ 14
394
Christoffer

Versões em PDF do padrão

A partir de 1º de setembro de 2014, os melhores locais por preço para documentos de padrões C e C++ em PDF são:

Normalmente, não é possível obter revisões antigas de um padrão (qualquer padrão) diretamente dos órgãos de normas logo após uma nova edição do padrão ser lançada. Assim, os padrões para C89, C90, C99, C++ 98, C++ 03 serão difíceis de encontrar para compra em um corpo de padrões. Se você precisar de uma revisão antiga de um padrão, marque Techstreet como uma fonte possível. Por exemplo, ele ainda pode fornecer a versão canadense CAN/CSA-ISO/IEC 9899: 1990 em PDF, por uma taxa.

Versões eletrônicas não PDF da norma

Imprimir versões do padrão

Cópias impressas dos padrões estão disponíveis em corpos de padrões nacionais e ISO , mas são muito caras.

Se você quer uma cópia impressa do padrão C90 por muito menos dinheiro do que acima, você pode encontrar uma cópia barata do livro Herb Schildt O padrão ANSI anotado em Amazon , que contém o texto real do padrão (útil) e comentário sobre o padrão (menos útil).

Os padrões C99 e C++ 03 estão disponíveis em forma de livro da Wiley e da BSI (British Standards Institute):

Versões de rascunho do comitê de normas

O rascunho de trabalho para padrões futuros está freqüentemente disponível nos sites dos comitês:

Observe que esses documentos não são os mesmos que o padrão, embora as versões imediatamente anteriores às reuniões que decidem sobre um padrão sejam geralmente muito próximas do que está no padrão final. As versões do FCD (Draft do Comitê Final) são protegidas por senha; você precisa estar no comitê de padrões para obtê-los.

No entanto, na minha opinião, mesmo que as versões preliminares possam estar muito próximas das versões finais ratificadas dos padrões, você deve obter uma cópia dos documentos reais - especialmente se você está pensando em citá-los como referências. É claro que os estudantes famintos devem seguir em frente e usar os rascunhos se precisarem de dinheiro.


Parece que, se você está disposto e é capaz de esperar alguns meses após a ratificação de um padrão, procurar por "INCITS/ISO/IEC" em vez de "ISO/IEC" ao procurar um padrão é a chave. Dessa forma, consegui encontrar o padrão C++ 11 a preço razoável e agora o padrão C11. Então, como um exemplo, você procura por "INCITS/ISO/IEC 9899: 2011" em vez de "ISO/IEC 9899: 2011" em webstore.ansi.org e você encontrará a versão com preço razoável PDF.


O site https://wg21.link/ fornece links de URL curto para os padrões de rascunho e rascunho de trabalho atuais do C++ e documentos do comitê:


O rascunho atual do padrão é mantido como fontes LaTeX no Github . Essas fontes podem ser convertidas para HTML usando cxxdraft-htmlgen . Os sites a seguir mantêm as páginas HTML geradas:

A Tim Song também mantém as versões HTML e PDF geradas do Networking TS e Ranges TS.

399
Michael Burr

Versões online do padrão podem ser encontradas:

Rascunho de Trabalho, Padrão para Linguagem de Programação C++

As seguintes versões de rascunho do padrão :
Todos os itens a seguir estão disponíveis gratuitamente para download
2019-03-15: N481git
2019-01-21: N48git
2018-11-26: N4791git
2018-10-08: N4778git
2018-07-07: N4762git
2018-05-07: N475git
2018-04-02: N4741git
2018-02-12: N4727git
2017-11-27: N471git
2017-10-16: N47git
2017-07-30: N4687git

Este parece ser o novo padrão:
Esta versão requer autenticação
2017-03-21: N466 = é o padrão de rascunho do C++ 17

As seguintes versões de rascunho do padrão :
Todos os itens a seguir estão disponíveis gratuitamente para download
2017-03-21: N4659git
2017-02-06: N464git
2016-11-28: N4618git
2016-07-12: N4606git
2016-05-30: N4594git
2016-03-19: N4582git
2015-11-09: N4567git
2015-05-22: N4527git
2015-04-10: N4431git
2014-11-19: N4296git

Este parece ser o antigo padrão C++ 14 :
Esta versão requer autenticação
2014-10-07: N414git Essencialmente C++ 14 com pequenos erros e erros de digitação corrigidos
2014-09-02: N4141git Padrão C++ 14
2014-03-02: N3937
2014-03-02: N3936git

As seguintes versões de rascunho do padrão :
Todos os itens a seguir estão disponíveis gratuitamente para download
2013-10-13: N3797git
2013-05-16: N3691
2013-05-15: N369
2012-11-02: N3485
2012-02-28: N3376
2012-01-16: N3337git Essencialmente C++ 11 com pequenos erros e erros de digitação corrigidos

Este parece ser o antigo padrão C++ 11 :
Esta versão requer autenticação
2011-04-05: N3291 C++ 11 (ou muito próximo)

As seguintes versões de rascunho do padrão :
Todos os itens a seguir estão disponíveis gratuitamente para download
2011-02-28: N3242 (diferenças do N3291 muito pequenas)
2010-11-27: N3225
2010-08-21: N3126
2010-03-29: N309
2010-02-16: N3035
2009-11-09: N30
2009-09-25: N296
2009-06-22: N2914
2009-03-23: N2857
2008-10-04: N2798
2008-08-25: N272
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 o antigo padrão C++ 03:
Todas as versões abaixo requerem Autenticação
2004-11-05: N17
2004-07-16: N1655 Não oficial
2004-02-07: N1577 C++ 03 (ou muito próximo)
2001-09-13: N1316 Rascunho da Corrigenda Técnica Ampliada
1997-00-00: N1117 Rascunho da Corrigenda Técnica Ampliada

As seguintes versões de rascunho do padrão :
Todos os itens a seguir estão disponíveis gratuitamente para download
1996-00-00: N0836 Rascunho da Correcção Técnica Expandida
1995-00-00: N0785 Documento de Trabalho para Minuta de Proposta de Norma Internacional para Sistemas de Informação - Linguagem de Programação C++

Outros artigos interessantes:

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

410
Martin York

C99 é disponível online . Citado de www.open-std.org :

A última versão disponível publicamente do padrão é o combinado C99 + TC1 + TC2 + TC3, WG14 N1256 , datado de 2007-09-07. Este é um documento de trabalho do WG14, mas reflete o padrão consolidado no momento da emissão.

63
Frederico

Links de rascunho:

C++ 11 (+ correções editoriais): N3337 HTML , PDF

C++ 14 (+ correções editoriais): N4140 HTML , PDF

C11 N157 ( texto )

C99 N1256

Rascunhos do Padrão são circulados para comentários antes da ratificação e publicação.

Nota que um rascunho de trabalho não é o padrão atualmente em vigor, e não é exatamente o padrão publicado

23
user1055604

Você pode encontrar o projecto de norma internacional para C++ 0x útil.

12
James Hopkin

Os padrões ISO custam dinheiro, de uma quantia moderada (para uma versão PDF), para um pouco mais (para uma versão de livro).

Embora não sejam finalizados, eles geralmente podem ser encontrados on-line, como rascunhos. Na maioria das vezes, a versão final não difere significativamente do último rascunho, por isso, embora não seja perfeito, eles serão adequados.

9
Pieter

Os padrões C99 e C++ 03 estão disponíveis em forma de livro da Wiley:

Além disso, como já mencionado, o rascunho de trabalho para padrões futuros está frequentemente disponível nos sites dos comitês:

O rascunho do C-201x está disponível como N1336 e o rascunho do C++ 0x como N3225 .

6
Anthony Williams

Os padrões ISO C e C++ são muito caros. Por outro lado, o INCITS republica-os por muito menos. http://www.techstreet.com/ parece ter o PDF por $ 30 (procure por INCITS/ISO/IEC 14882: 2003).

Versões impressas também estão disponíveis. Procure as versões do British Standards Institute, publicadas pela Wiley.

3
MSalters

O texto de um esboço do padrão ANSI C (também conhecido como C.89) está disponível online. Isso foi padronizado pelo comitê ANSI antes da aceitação pelo padrão ISO C (C.90), portanto a numeração das seções é diferente (as seções 2 a 4 do ANSI correspondem aproximadamente às seções 5 a 7 do ISO), embora o conteúdo seja (supostamente ser) em grande parte idêntico.

3
jxh

Os documentos de normas reais podem não ser os mais úteis. A maioria dos compiladores não implementa totalmente os padrões e pode, às vezes, entrar em conflito. Portanto, a documentação do compilador que você já possui será mais útil. Além disso, a documentação conterá observações e notas específicas da plataforma sobre quaisquer advertências.

2
Kris Kumler

Embora não seja um padrão real, há uma emenda à ISO C (C89/90) chamada C94/95, ou Adendo Normativo 1. Foi integrado ao C99, embora alguns compiladores como Clang permitem que você especifique -std=c94 na linha de comando. ISO/IEC 9899: 1990/AMD 1: 1995 pode ser comprado por um preço elevado de SAI GLOBAL (PDF ou disco cópia de).

Um resumo do documento pode ser encontrado aqui .

Quando o (então rascunho) Padrão ANSI C estava sendo considerado para a adoção de uma Norma Internacional em 1990, houve várias objeções porque não tratava de questões de internacionalização. Como o Padrão já tinha vários anos em andamento, ficou acordado que algumas mudanças seriam feitas para fornecer a base (por exemplo, as funções da subcláusula 7.10.7 foram adicionadas), e o trabalho seria realizado separadamente para fornecer adequada internacionalização do Padrão. Este trabalho culminou no Anexo Normativo 1.

O Adendo Normativo 1 incorpora a reação de C às limitações e promessas dos conjuntos de caracteres internacionais. Os dígrafos e o cabeçalho foram criados para melhorar a aparência dos programas em C escritos em variantes nacionais da ISO 646 sem, por exemplo, {ou} caracteres. No outro extremo do espectro, as instalações conectadas e estendem a base mal-fundamentada do antigo padrão em um conjunto completo e consistente de utilitários para manipular caracteres amplos e cadeias de caracteres multibyte.

Este documento resume o Anexo Normativo 1. Destina-se a informar rapidamente os leitores que já estão familiarizados com o Padrão; não introduz e não pode introduzir o assunto complexo por trás de NA1, nem pode substituir o documento original como um manual de referência. (No entanto, ele tenta ser o mais preciso possível, e seu autor gostaria de ouvir sobre quaisquer erros ou omissões.)

1
user3920237