it-swarm-eu.dev

Dove trovo gli attuali documenti standard C o C ++?

Per molte domande la risposta sembra trovarsi nello "standard". Tuttavia, dove lo troviamo? Preferibilmente online.

A volte googling può sembrare inutile, di nuovo soprattutto per gli standard C, poiché sono annegati nel diluvio delle discussioni sui forum di programmazione.

Per iniziare, poiché questi sono quelli che sto cercando in questo momento, dove ci sono buone risorse online per:

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

Versioni PDF dello standard

A partire dal 1 ° settembre 2014, le migliori posizioni in base al prezzo per i documenti degli standard C e C++ in PDF sono:

Di solito non è possibile ottenere vecchie revisioni di uno standard (qualsiasi standard) direttamente dagli organismi di standardizzazione poco dopo il rilascio di una nuova edizione dello standard. Pertanto, gli standard per C89, C90, C99, C++ 98, C++ 03 saranno difficili da trovare per l'acquisto da un organismo di standardizzazione. Se hai bisogno di una vecchia revisione di uno standard, seleziona Techstreet come una possibile fonte. Ad esempio, può ancora fornire a pagamento la versione canadese CAN/CSA-ISO/IEC 9899: 1990 in PDF.

Versioni elettroniche non PDF dello standard

Stampa le versioni dello standard

Copie stampate degli standard sono disponibili presso gli organismi di standard nazionali e ISO ma sono molto costosi.

Se vuoi una copia cartacea dello standard C90 per molto meno denaro di quanto sopra, potresti essere in grado di trovare una copia usata a buon mercato del libro Herb Schildt Lo standard ANSI annotato at Amazon , che contiene il testo effettivo dello standard (utile) e i commenti sullo standard (meno utile).

Gli standard C99 e C++ 03 sono disponibili in formato libro da Wiley e dal BSI (British Standards Institute):

Progetto di versioni del comitato per le norme

Il progetto di lavoro per gli standard futuri è spesso disponibile sui siti Web del comitato:

Si noti che questi documenti non sono gli stessi dello standard, sebbene le versioni appena prima delle riunioni che decidono su uno standard siano in genere molto simili a quelle dello standard finale. Le versioni FCD (Final Committee Draft) sono protette da password; devi far parte del comitato degli standard per ottenerli.

Tuttavia, a mio avviso, anche se le bozze delle versioni potrebbero essere molto simili alle versioni ratificate finali degli standard, dovresti davvero ottenere una copia dei documenti effettivi, soprattutto se stai pensando di citarli come riferimenti. Naturalmente, gli studenti affamati dovrebbero andare avanti e usare le bozze se legate per denaro.


Sembra che, se si è disposti e in grado di attendere qualche mese dopo la ratifica di uno standard, cercare "INCITS/ISO/IEC" anziché "ISO/IEC" quando si cerca uno standard è la chiave. In questo modo sono stato in grado di trovare lo standard C++ 11 a un prezzo ragionevole e ora lo standard C11. Quindi, ad esempio, cerchi "INCITS/ISO/IEC 9899: 2011" anziché "ISO/IEC 9899: 2011" su webstore.ansi.org e troverai il prezzo ragionevole PDF versione.


Il sito https://wg21.link/ fornisce collegamenti a URL breve all'attuale bozza di lavoro C++ e bozze di standard e documenti del comitato:


L'attuale bozza dello standard viene mantenuta come fonte LaTeX su Github . Queste fonti possono essere convertite in HTML usando cxxdraft-htmlgen . I seguenti siti mantengono le pagine HTML così generate:

Tim Song mantiene anche le versioni HTML generate e PDF di Networking TS e Ranges TS.

407
Michael Burr

Le versioni online dello standard sono disponibili:

Bozza di lavoro, standard per il linguaggio di programmazione C++

Le seguenti versioni bozza dello standard:
Tutti i seguenti sono scaricabili gratuitamente
15-08-2019: N48git
17/06/2019: N482git
15-03-2019: N481git
21-01-2019: N48git
26-11-2018: N4791git
08-10-2018: N4778git
07-07-2018: N4762git
07/05/2018: N475git
02-04-2018: N4741git
12/02/2018: N4727git
27/11/2017: N471git
16-10-2017: N47git
30/07/2017: N4687git

Questo sembra essere il nuovo standard:
Questa versione richiede autenticazione
21-03-2017: N466 è lo standard di bozza C++ 17

Le seguenti versioni bozza dello standard:
Tutti i seguenti sono liberamente scaricabili
21-03-2017: N4659git
06/02/2017: N464git
28/11/2016: N4618git
12/07/2016: N4606git
30/05/2016: N4594git
19-03-2016: N4582git
09/11/2015: N4567git
22/05/2015: N4527git
10-04-2015: N4431git
19-11-2014: N4296git

Questo sembra essere il vecchio standard C++ 14:
Questa versione richiede autenticazione
07-10-2014: N414git Essenzialmente C++ 14 con errori minori e errori di battitura corretti
2014-09-02: N4141git Standard C++ 14
2014-03-02: N3937
02-03-2014: N3936git

Le seguenti versioni bozza dello standard:
Tutti i seguenti sono liberamente scaricabili
13-10-2013: N3797git
16/05/2013: N3691
15/05/2013: N369
2012-11-02: N3485
28/02/2012: N3376
16/01/2012: N3337git Essenzialmente C++ 11 con errori minori e errori di battitura corretti

Questo sembra essere il vecchio standard C++ 11:
Questa versione richiede autenticazione
05/04/2011: N3291 C++ 11 (o molto vicino)

Le seguenti versioni bozza dello standard:
Tutti i seguenti sono liberamente scaricabili
28/02/2011: N3242 (differenze da N3291 molto minori)
27/11/2010: N3225
21-08-2010: N3126
29/03/2010: N309
16/02/2010: N3035
09/11/2009: N30
25/09/2009: N296
22/06/2009: N2914
23-03-2009: N2857
2008-10-04: N2798
25-08-2008: N272
27/06/2008: N2691
19/05/2008: N2606
17-03-2008: N2588
2008-02-04: N2521
22-10-2007: N2461
2007-08-06: N2369
25/06/2007: N2315
2007-05-07: N2284
03-11-2006: N2134
21-04-2006: N2009
19-10-2005: N1905
27-04-2005: N1804

Questo sembra essere il vecchio standard C++ 03:
Tutte le versioni seguenti richiedono l'autenticazione
2004-11-05: N17
16/07/2004: N1655 non ufficiale
2004-02-07: N1577 C++ 03 (o molto vicino)
13/09/2001: N1316 Progetto di rettifica tecnica ampliata
1997-00-00: N1117 Progetto di rettifica tecnica ampliata

Le seguenti versioni bozza dello standard:
Tutti i seguenti sono scaricabili gratuitamente
1996-00-00: N0836 Progetto di rettifica tecnica ampliata
1995-00-00: documento di lavoro N0785 per il progetto di norma internazionale proposta per i sistemi di informazione - Linguaggio di programmazione C++

Altri documenti interessanti:

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

413
Martin York

C99 è disponibile online . Citato da www.open-std.org :

L'ultima versione disponibile pubblicamente dello standard è la combinazione C99 + TC1 + TC2 + TC3, WG14 N1256 , datata 2007-09-07. Questo è un documento di lavoro WG14, ma riflette lo standard consolidato al momento dell'emissione.

63
Frederico

Bozze di collegamenti:

C++ 11 (+ correzioni editoriali): N3337 HTML , PDF

C++ 14 (+ correzioni editoriali): N4140 HTML , PDF

C11 N157 ( testo )

C99 N1256

Bozze dello Standard vengono diffusi per un commento prima della ratifica e della pubblicazione.

Nota che una bozza di lavoro non è lo standard attualmente in vigore e non è esattamente lo standard pubblicato

24
user1055604

Potresti trovare utile progetto di standard internazionale per C++ 0x.

12
James Hopkin

Gli standard ISO costano denaro, da un importo moderato (per un PDF), un po 'di più (per una versione del libro).

Sebbene non siano finalizzati, tuttavia, di solito possono essere trovati online, come bozze. Il più delle volte la versione finale non differisce in modo significativo dall'ultima bozza, quindi sebbene non sia perfetta, si adatteranno perfettamente.

9
Pieter

Gli standard C99 e C++ 03 sono disponibili in formato libro da Wiley:

Inoltre, come già accennato, il progetto di lavoro per gli standard futuri è spesso disponibile sui siti Web del comitato:

La bozza C-201x è disponibile come N1336 e la bozza C++ 0x come N3225 .

6
Anthony Williams

Gli standard ISO C e C++ sono dannatamente costosi. D'altra parte, gli INCITS li ripubblicano per molto meno. http://www.techstreet.com/ sembra avere il PDF per $ 30 (ricerca di INCITS/ISO/IEC 14882: 2003).

Sono disponibili anche versioni cartacee. Cerca le versioni del British Standards Institute, pubblicate da Wiley.

3
MSalters

Il testo di un bozza dello standard ANSI C (aka C.89) è disponibile online. Questo è stato standardizzato dal comitato ANSI prima dell'accettazione da parte dello standard ISO C (C.90), quindi la numerazione delle sezioni differisce (le sezioni ANSI da 2 a 4 corrispondono approssimativamente alle sezioni ISO da 5 a 7), sebbene il contenuto sia (supposto essere) in gran parte identico.

3
jxh

I documenti sugli standard effettivi potrebbero non essere i più utili. La maggior parte dei compilatori non implementa completamente gli standard e talvolta può effettivamente essere in conflitto. Quindi la documentazione del compilatore che avresti già sarà più utile. Inoltre, la documentazione conterrà osservazioni e note specifiche della piattaforma su eventuali avvertenze.

2
Kris Kumler

Sebbene non sia uno standard effettivo, esiste un emendamento a ISO C (C89/90) chiamato C94/95 o Addendum normativo 1. È stato integrato in C99, sebbene alcuni compilatori come Clang ti consentano di specifica -std=c94 dalla riga di comando. ISO/IEC 9899: 1990/AMD 1: 1995 possono essere acquistati a un prezzo elevato da SAI GLOBAL (PDF o rigido copia).

È possibile trovare un riepilogo del documento qui .

Quando la (allora bozza) norma ANSI C era stata presa in considerazione per l'adozione di una norma internazionale nel 1990, c'erano diverse obiezioni perché non affrontava i problemi di internazionalizzazione. Poiché lo standard era già in atto da diversi anni, si è convenuto che sarebbero state apportate alcune modifiche per fornire la base (ad esempio, sono state aggiunte le funzioni del sotto-paragrafo 7.10.7) e il lavoro sarebbe stato svolto separatamente per fornire corretta internazionalizzazione dello standard. Questo lavoro è culminato nell'addendum normativo 1.

L'addendum normativo 1 incarna la reazione di C alle limitazioni e alle promesse dei set di caratteri internazionali. Digraphs e l'intestazione avevano lo scopo di migliorare l'aspetto dei programmi C scritti in varianti nazionali di ISO 646 senza, ad esempio, {o} caratteri. All'altra estremità dello spettro, le strutture si collegavano ed estendevano la base appena adeguata del vecchio standard in un set completo e coerente di utility per la gestione di caratteri ampi e stringhe multibyte.

Questo documento riassume l'addendum normativo 1. Ha lo scopo di informare rapidamente i lettori che hanno già familiarità con lo standard; non introduce e non può presentare l'argomento complesso alla base di NA1, né può sostituire il documento originale come manuale di riferimento. (Tuttavia, cerca di essere il più preciso possibile e il suo autore vorrebbe sapere di eventuali errori o omissioni.)

1
user3920237