it-swarm-ru.tech

Где я могу найти текущие стандартные документы C или C ++?

На многие вопросы ответ, кажется, находится в "стандарте". Однако где мы можем найти это? Желательно онлайн.

Поиск в Google иногда может показаться бесполезным, особенно для стандартов C, так как они тонут в потоке дискуссий на форумах по программированию.

Для начала, так как это те, которые я ищу прямо сейчас, где есть хорошие онлайн-ресурсы для:

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

PDF версии стандарта

По состоянию на 1 сентября 2014 года лучшие местоположения по цене для документов стандартов C и C++ в PDF:

Обычно вы не можете получить старые версии стандарта (любого стандарта) непосредственно от органов по стандартизации вскоре после выпуска новой версии стандарта. Таким образом, стандарты для C89, C90, C99, C++ 98, C++ 03 будет трудно найти для приобретения у органа по стандартизации. Если вам нужна старая редакция стандарта, отметьте Techstreet в качестве одного из возможных источников. Например, он все еще может предоставить канадскую версию стандарта CAN/CSA-ISO/IEC 9899: 1990 в формате PDF за плату.

Электронные версии стандарта без PDF

Печатные версии стандарта

Печатные копии стандартов можно получить в национальных органах по стандартизации и ISO , но они очень дороги.

Если вы хотите получить печатную копию стандарта C90 за гораздо меньшие деньги, чем указано выше, вы можете найти дешевую использованную копию книги Херб ШильдтАннотированный ANSI Стандарт at Amazon , который содержит фактический текст стандарта (полезный) и комментарий к стандарту (менее полезный).

Стандарты C99 и C++ 03 доступны в виде книг от Wiley и BSI (Британский институт стандартов):

Черновые версии комитета по стандартам

Рабочий проект будущих стандартов часто доступен на веб-сайтах комитета:

Обратите внимание, что эти документы не совпадают со стандартом, хотя версии непосредственно перед заседаниями, на которых принимается решение о стандарте, обычно очень близки к тому, что содержится в окончательном стандарте. Версии FCD (финального комитета) защищены паролем; Вы должны быть в комитете по стандартам, чтобы получить их.

Однако, по моему мнению, даже несмотря на то, что черновые версии могут быть очень близки к окончательно утвержденным версиям стандартов, вам действительно следует получить копию фактических документов, особенно если вы планируете указывать их в качестве ссылок. Конечно, голодающие студенты должны идти вперед и использовать шашки, если они привязаны к деньгам.


Похоже, что если вы готовы и можете подождать несколько месяцев после ратификации стандарта, поиск "INCITS/ISO/IEC" вместо "ISO/IEC", когда поиск стандарта является ключевым. Таким образом, я смог найти стандарт C++ 11 по разумной цене, а теперь и стандарт C11. Так, например, вы ищете "INCITS/ISO/IEC 9899: 2011" вместо "ISO/IEC 9899: 2011" в webstore.ansi.org и вы найдете _ по разумной цене PDF версия.


Сайт https://wg21.link/ предоставляет короткие URL-ссылки на текущий рабочий проект и проекты стандартов C++, а также документы комитета:


Текущий проект стандарта поддерживается как источники LaTeX на Github . Эти источники могут быть преобразованы в HTML с помощью cxxdraft-htmlgen . Следующие сайты поддерживают сгенерированные HTML-страницы:

Тим Сонг также поддерживает сгенерированные версии HTML и PDF сетевых TS и диапазонов TS.

399
Michael Burr

Онлайн версии стандарта можно найти:

Рабочий проект, Стандарт для языка программирования C++

Следующие все черновые версии стандарта :
Все нижеперечисленное свободно скачивается
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

Это новый стандарт:
Эта версия требует аутентификации
2017-03-21: N466 - проект стандарта C++ 17

Следующие все черновые версии стандарта :
Все нижеперечисленное свободно скачивается
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

Это, похоже, старый стандарт C++ 14 :
Эта версия требует аутентификации
2014-10-07: N414git По существу C++ 14 с небольшими ошибками и исправленными опечатками
2014-09-02: N4141git Стандарт C++ 14
2014-03-02: N3937
2014-03-02: N3936git

Следующие все черновые версии стандарта :
Все нижеперечисленное свободно скачивается
2013-10-13: N3797git
2013-05-16: N3691
2013-05-15: N369
2012-11-02: N3485
2012-02-28: N3376
2012-01-16: N3337git По существу C++ 11 с небольшими ошибками и исправленными опечатками

Это, кажется, старый стандарт C++ 11 :
Эта версия требует аутентификации
2011-04-05: N3291 C++ 11 (или очень близко)

Следующие все черновые версии стандарта :
Все нижеперечисленное свободно скачивается
2011-02-28: N3242 (отличия от N3291 очень незначительные)
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

Кажется, это старый стандарт C++ 03:
Все нижеуказанные версии требуют аутентификации
2004-11-05: N17
2004-07-16: N1655 Неофициально
2004-02-07: N1577 C++ 03 (или очень близко)
2001-09-13: N1316 Проект расширенного технического исправления
1997-00-00: проект расширенного технического исправления N1117

Следующие все черновые версии стандарта :
Все нижеперечисленное свободно скачивается
1996-00-00: N0836 Проект расширенного технического исправления
1995-00-00: N0785 Рабочий документ для проекта предлагаемого международного стандарта для информационных систем - язык программирования C++

Другие интересные документы:

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

410
Martin York

C99 доступно онлайн . Цитируется из www.open-std.org :

Последней общедоступной версией стандарта является комбинированный C99 + TC1 + TC2 + TC3, WG14 N1256 от 2007-09-07. Это рабочий документ WG14, но он отражает консолидированный стандарт на момент выпуска.

63
Frederico

Черновики ссылок:

C++ 11 (+ редакционные исправления): N3337 HTML , PDF

C++ 14 (+ редакционные исправления): N4140 HTML , PDF

C11 N157 ( текст )

C99 N1256

Черновики Стандарта распространяются для комментариев до ратификации и публикации.

Примечание что рабочий проект не является действующим стандартом, и он не совсем опубликован

23
user1055604

Может оказаться полезным проект международного стандарта для C++ 0x.

12
James Hopkin

Стандарты ISO стоят денег, от умеренной суммы (для PDF версии), до немного больше (для книжной версии).

Хотя они и не доработаны, их обычно можно найти в Интернете в виде черновиков. В большинстве случаев окончательная версия не отличается значительно от предыдущего проекта, поэтому, хотя она и не идеальна, они отлично подойдут.

9
Pieter

Стандарты C99 и C++ 03 доступны в виде книги от Wiley:

Кроме того, как уже упоминалось, рабочий проект будущих стандартов часто можно найти на веб-сайтах комитета:

Черновик C-201x доступен как N1336 , а черновой вариант C++ 0x - N3225 .

6
Anthony Williams

Стандарты ISO C и C++ чертовски дороги. С другой стороны, INCITS перепечатывает их намного дешевле. http://www.techstreet.com/ кажется, что PDF за 30 долларов (поиск по INCITS/ISO/IEC 14882: 2003).

Версии в печатном виде также доступны. Ищите версии Британского института стандартов, опубликованные Wiley.

3
MSalters

Текст проект стандарта ANSI C (он же C.89) доступен онлайн. Это было стандартизировано комитетом ANSI до принятия стандартом ISO C (C.90), поэтому нумерация разделов отличается (разделы 2–4 ANSI примерно соответствуют разделам 5–7 ISO), хотя содержание (предполагается быть) в значительной степени идентичны.

3
jxh

Актуальные нормативные документы могут быть не самыми полезными. Большинство компиляторов не полностью реализуют стандарты и иногда могут фактически конфликтовать. Так что документация компилятора, которая у вас уже есть, будет более полезной. Кроме того, документация будет содержать замечания по платформе и замечания по любым оговоркам.

2
Kris Kumler

Хотя это и не является действующим стандартом, существует поправка к ISO C (C89/90) под названием C94/95, или нормативное приложение 1. Оно было интегрировано в C99, хотя некоторые компиляторы, такие как Clang , позволяют вам укажите -std=c94 в командной строке. ISO/IEC 9899: 1990/AMD 1: 1995 можно купить по высокой цене у SAI GLOBAL (PDF или hard копия).

Краткое содержание документа можно найти здесь .

Когда (затем проект) стандарта ANSI C рассматривался вопрос о принятии международного стандарта в 1990 году, было несколько возражений, потому что он не рассматривал вопросы интернационализации. Поскольку Стандарт уже был в разработке несколько лет, было решено, что для обеспечения основы будут внесены некоторые изменения (например, были добавлены функции в подпункте 7.10.7), и работа будет выполняться отдельно для обеспечения правильная интернационализация стандарта. Эта работа завершилась нормативным дополнением 1.

Нормативное Дополнение 1 отражает реакцию C на ограничения и обещания международных наборов символов. Диграфы и заголовок предназначались для улучшения внешнего вида программ на C, написанных в национальных вариантах ISO 646 без, например, символов {или}. На другом конце спектра средства, связанные с едва уловимой основой старого стандарта, и расширяют ее до полного и согласованного набора утилит для обработки широких символов и многобайтовых строк.

В этом документе кратко изложено нормативное приложение 1. Он предназначен для быстрого информирования читателей, которые уже знакомы со стандартом; он не представляет и не может представить сложный предмет, стоящий за NA1, и не может заменить оригинальный документ в качестве справочного руководства. (Тем не менее, он пытается быть максимально точным, и его автор хотел бы услышать о любых ошибках или упущениях.)

1
user3920237