it-swarm-eu.dev

Wo finde ich die aktuellen C- oder C ++ - Standarddokumente?

Bei vielen Fragen scheint die Antwort im "Standard" zu liegen. Wo finden wir das? Am liebsten online.

Googeln kann sich manchmal vergeblich anfühlen, insbesondere für die C-Standards, da sie in der Flut von Diskussionen in Programmierforen ertrunken sind.

Um dies zu erreichen, suche ich gerade nach diesen, wo gibt es gute Online-Ressourcen für:

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

PDF-Versionen des Standards

Ab dem 1. September 2014 sind die besten Standorte nach Preis für C- und C++ - Standarddokumente in PDF:

In der Regel können Sie alte Überarbeitungen eines Standards (beliebiger Standards) nicht unmittelbar nach der Veröffentlichung einer neuen Ausgabe des Standards von den Standardkörpern erhalten. Aus diesem Grund sind Normen für C89, C90, C99, C++ 98, C++ 03 bei einer Normungsorganisation nur schwer erhältlich. Wenn Sie eine alte Revision eines Standards benötigen, markieren Sie Techstreet als eine mögliche Quelle. Gegen eine Gebühr kann weiterhin beispielsweise der kanadische Standard CAN/CSA-ISO/IEC 9899: 1990 als PDF bereitgestellt werden.

Elektronische Nicht-PDF-Versionen des Standards

Druckversionen des Standards

Druckexemplare der Normen sind bei nationalen Normungsorganisationen erhältlich und ISO aber sehr teuer.

Wenn Sie eine Hardcopy des C90-Standards für viel weniger Geld als oben möchten, können Sie möglicherweise ein billiges gebrauchtes Exemplar von Herb Schildt 's Buch The Annotated ANSI Standard at Amazon , der den eigentlichen Text des Standards (nützlich) und einen Kommentar zum Standard (weniger nützlich) enthält.

Die Standards C99 und C++ 03 sind in Buchform von Wiley und dem BSI (British Standards Institute) erhältlich:

Entwurfsfassungen des Normenausschusses

Der Arbeitsentwurf für künftige Normen ist häufig auf den Websites der Ausschüsse verfügbar:

Beachten Sie, dass diese Dokumente nicht mit dem Standard identisch sind, obwohl die Versionen unmittelbar vor den Besprechungen, die sich für einen Standard entscheiden, in der Regel sehr nahe an den Vorgaben des endgültigen Standards liegen. Die FCD-Versionen (Final Committee Draft) sind passwortgeschützt. Sie müssen Mitglied des Normungsausschusses sein, um sie zu erhalten.

Meiner Meinung nach sollten Sie jedoch eine Kopie der tatsächlichen Dokumente erhalten, auch wenn die Entwurfsfassungen möglicherweise sehr nahe an den endgültigen ratifizierten Fassungen der Standards liegen - insbesondere, wenn Sie beabsichtigen, sie als Referenzen zu zitieren. Selbstverständlich sollten hungernde Studenten die Entwürfe verwenden, wenn sie für Bargeld angeschnallt sind.


Wenn Sie bereit und in der Lage sind, einige Monate nach der Ratifizierung einer Norm zu warten, ist die Suche nach "INCITS/ISO/IEC" anstelle von "ISO/IEC" bei der Suche nach einer Norm der Schlüssel. Auf diese Weise konnte ich den C++ 11-Standard zu einem vernünftigen Preis und jetzt den C11-Standard finden. Also, als Beispiel suchen Sie nach "INCITS/ISO/IEC 9899: 2011" anstelle von "ISO/IEC 9899: 2011" auf webstore.ansi.org und Sie finden das preiswerte PDF Version.


Die Site https://wg21.link/ enthält Kurz-URL-Links zu den aktuellen C++ - Arbeitsentwürfen und -Normenentwürfen sowie Komiteepapiere:


Der aktuelle Standardentwurf wird als LaTeX-Quelle am Github beibehalten. Diese Quellen können mit cxxdraft-htmlgen in HTML konvertiert werden. Auf den folgenden Websites werden so generierte HTML-Seiten verwaltet:

Tim Song verwaltet auch generierte HTML- und PDF-Versionen des Networking TS und des Ranges TS.

407
Michael Burr

Online-Versionen des Standards finden Sie unter:

Working Draft, Standard für Programmiersprache C++

Nachfolgend alle Entwurfsversionen der Norm:
Alle folgenden Dateien können kostenlos heruntergeladen werden
15.08.2019: N48git
2019-06-17: N482git
15.03.2019: N481git
21.01.2019: N48git
26.11.2018: N4791git
2018-10-08: N4778git
2018-07-07: N4762git
2018-05-07: N475git
2018-04-02: N4741git
12.02.2018: N4727git
27.11.2017: N471git
16.10.2017: N47git
30.07.2017: N4687git

Dies scheint der neue Standard zu sein:
Diese Version erfordert eine Authentifizierung
2017-03-21: N466 ist der C++ 17 Draft Standard

Nachfolgend alle Entwurfsversionen der Norm:
Alle folgenden Dateien können kostenlos heruntergeladen werden
21.03.2017: N4659git
2017-02-06: 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

Dies scheint der alte C++ 14-Standard zu sein:
Diese Version erfordert eine Authentifizierung
07.10.2014: N414git Im Wesentlichen C++ 14 mit geringfügigen Fehlern und Tippfehlern korrigiert
2014-09-02: N4141git Standard C++ 14
02.03.2014: N3937
2014-03-02: N3936git

Nachfolgend alle Entwurfsversionen der Norm:
Alle folgenden Dateien können kostenlos heruntergeladen werden
2013-10-13: N3797git
2013-05-16: N3691
15.05.2013: N369
2012-11-02: N3485
28.02.2012: N3376
2012-01-16: N3337git Im Wesentlichen C++ 11 mit geringfügigen Fehlern und Tippfehlern korrigiert

Dies scheint der alte C++ 11-Standard zu sein:
Diese Version erfordert eine Authentifizierung
05.04.2011: N3291 C++ 11 (oder sehr nahe)

Nachfolgend alle Entwurfsversionen der Norm:
Alle folgenden Dateien können kostenlos heruntergeladen werden
28.02.2011: N3242 (Unterschiede zu N3291 sehr gering)
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
04.10.2008: N2798
25.08.2008: N272
27.06.2008: N2691
19.05.2008: N2606
17.03.2008: N2588
04.02.2008: N2521
22.10.2007: N2461
06.08.2007: N2369
25.06.2007: N2315
2007-05-07: N2284
2006-11-03: N2134
21.04.2006: N2009
19.10.2005: N1905
2005-04-27: N1804

Dies scheint der alte C++ 03-Standard zu sein:
Alle folgenden Versionen erfordern eine Authentifizierung
05.11.2004: N17
16.07.2004: N1655 Inoffiziell
07.02.2004: N1577 C++ 03 (oder sehr nahe)
13.09.2001: N1316 Entwurf einer erweiterten technischen Berichtigung
1997-00-00: N1117 Entwurf einer erweiterten technischen Berichtigung

Nachfolgend alle Entwurfsversionen der Norm:
Alle folgenden Dateien können kostenlos heruntergeladen werden
1996-00-00: N0836 Entwurf einer erweiterten technischen Berichtigung
1995-00-00: N0785 Arbeitspapier zum Entwurf eines internationalen Standards für Informationssysteme - Programmiersprache C++

Andere interessante Artikel:

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

413
Martin York

C99 ist online verfügbar . Zitiert von www.open-std.org :

Die letzte öffentlich verfügbare Version der Norm ist die kombinierte Version C99 + TC1 + TC2 + TC3, WG14 N1256 vom 2007-09-07. Dies ist ein WG14-Arbeitspapier, das jedoch den konsolidierten Standard zum Zeitpunkt der Ausgabe widerspiegelt.

63
Frederico

Entwurf von Links:

C++ 11 (+ redaktionelle Korrekturen): N3337 HTML , PDF

C++ 14 (+ redaktionelle Korrekturen): N4140 HTML , PDF

C11 N157 ( text )

C99 N1256

Entwürfe des Standards werden vor der Ratifizierung und Veröffentlichung zur Kommentierung verteilt.

Anmerkung dass ein Arbeitsentwurf nicht die derzeit gültige Norm ist und es sich nicht genau um die veröffentlichte Norm handelt

24
user1055604

Möglicherweise ist der Entwurf eines internationalen Standards für C++ 0x hilfreich.

12
James Hopkin

ISO-Standards kosten Geld, von einem moderaten Betrag (für eine PDF Version)) bis zu einem etwas höheren (für eine Buchversion).

Obwohl sie noch nicht finalisiert sind, können sie in der Regel als Entwürfe online abgerufen werden. In den meisten Fällen unterscheidet sich die endgültige Version nicht wesentlich vom letzten Entwurf, so dass sie zwar nicht perfekt ist, aber in Ordnung ist.

9
Pieter

Die Standards C99 und C++ 03 sind in Buchform bei Wiley erhältlich:

Wie bereits erwähnt, ist der Arbeitsentwurf für künftige Normen häufig auf den Websites der Ausschüsse verfügbar:

Der Entwurf für C-201x ist als N1336 und der Entwurf für C++ 0x als N3225 verfügbar.

6

Die ISO C und C++ Standards sind verdammt teuer. Auf der anderen Seite veröffentlicht das INCITS sie für viel weniger. http://www.techstreet.com/ scheint das PDF für $ 30 zu haben (Suche nach INCITS/ISO/IEC 14882: 2003).

Auch Hardcopy-Versionen sind erhältlich. Suchen Sie nach den von Wiley veröffentlichten Versionen des British Standards Institute.

3
MSalters

Der Text eines Entwurf des ANSI C-Standards (aka C.89) ist online verfügbar. Dies wurde vom ANSI-Komitee vor der Annahme durch den ISO C-Standard (C.90) standardisiert, sodass die Nummerierung der Abschnitte unterschiedlich ist (ANSI-Abschnitte 2 bis 4 entsprechen in etwa den ISO-Abschnitten 5 bis 7), obwohl der Inhalt (angenommen) ist weitgehend identisch sein.

3
jxh

Die tatsächlichen Normdokumente sind möglicherweise nicht die nützlichsten. Die meisten Compiler implementieren die Standards nicht vollständig und können manchmal tatsächlich Konflikte verursachen. Daher ist die Compiler-Dokumentation, die Sie bereits haben würden, nützlicher. Darüber hinaus enthält die Dokumentation plattformspezifische Anmerkungen und Hinweise zu etwaigen Einschränkungen.

2
Kris Kumler

Obwohl es sich nicht um eine aktuelle Norm handelt, gibt es eine Änderung von ISO C (C89/90) mit der Bezeichnung C94/95 oder Normative Addendum 1. Sie wurde in C99 integriert, obwohl einige Compiler wie Clang zulassen Sie spezifizieren -std=c94 in der Befehlszeile. ISO/IEC 9899: 1990/AMD 1: 1995 kann für einen hohen Preis von SAI GLOBAL (PDF) erworben werden oder auf Papier).

Eine Zusammenfassung des Dokuments finden Sie hier .

Als der (damalige) Entwurf eines ANSI-C-Standards 1990 für die Annahme eines internationalen Standards in Betracht gezogen wurde, gab es mehrere Einwände, weil er keine Internationalisierungsprobleme behandelte. Da der Standard bereits mehrere Jahre in der Erstellung war, wurde vereinbart, dass einige Änderungen vorgenommen werden, um die Basis bereitzustellen (zum Beispiel wurden die Funktionen in Unterabschnitt 7.10.7 hinzugefügt), und dass die Arbeiten separat durchgeführt werden, um die Basis bereitzustellen ordnungsgemäße Internationalisierung des Standards. Diese Arbeit hat im normativen Nachtrag 1 gipfelt.

Der normative Nachtrag 1 verkörpert Cs Reaktion auf die Einschränkungen und Versprechen internationaler Zeichensätze. Digraphen und der Header sollten das Erscheinungsbild von C-Programmen verbessern, die in nationalen Varianten von ISO 646 ohne z. B. {oder} Zeichen geschrieben wurden. Am anderen Ende des Spektrums bilden die Einrichtungen, die an die kaum ausreichende Basis des alten Standards angeschlossen sind, eine vollständige und konsistente Reihe von Dienstprogrammen für die Verarbeitung breiter Zeichen und Multibyte-Zeichenfolgen.

Dieses Dokument fasst den normativen Anhang 1 zusammen. Es soll Leser, die mit dem Standard bereits vertraut sind, schnell informieren. Es kann und wird weder das komplexe Thema von NA1 vorstellen noch das Originaldokument als Referenzhandbuch ersetzen. (Trotzdem versucht es, so genau wie möglich zu sein, und sein Autor würde gerne von Fehlern oder Auslassungen erfahren.)

1
user3920237