ANSI C — стандарт мови C, опублікований американським Національним інститутом стандартів (ANSI). Дотримання цього стандарту допомагає створювати легко портовані програми.
Історія
Перший стандарт мови C опублікував Американський інститут ANSI. Через деякий час його прийняла міжнародна організація зі стандартизації ISO, яка й продовжила випускати наступні версії стандарту, які став приймати за стандарт і інститутом ANSI. Попри це стандарт досі частіше називають ANSI C, а не ISO C.
C89
1983 року американський Національний інститут стандартів сформував комітет X3J11 для створення специфікації стандарту C. 1989 року, після тривалого і напруженого процесу, стандарт завершили і затвердили як ANSI X3.159-1989 «Мова програмування C». Саме цю версію часто називають "ANSI C", або "C89" (щоб відрізнити її від C99).
C90
1990 року, стандарт ANSI C (з невеликими змінами) прийняла міжнародна організація зі стандартизації (ISO) як ISO/IEC 9899:1990. Цю версію іноді називають C90. Однак, терміни C89 і C90 стосуються по суті однієї мови.
C99
У березні 2000 року ANSI прийняв стандарт ISO/IEC 9899:1999. Цей стандарт зазвичай називають C99. Основні нововведення:
- Нові вбудовані типи даних:
long long
,_Bool
,_Complex
й_Imaginary
. - Нові можливості мови, зокрема, масиви змінної довжини, індекси статичних масивів, compound-літерали, варіативні макроси, ключове слово restrict.
- Нові заголовні файли, зокрема,
stdint.h
,tgmath.h
,fenv.h
,complex.h
. - Можливості, сумісні зі , зокрема, inline-функції, однорядкові коментарі
//
, змішання декларацій та коду, символи Юнікоду в ідентифікаторах. - Вилучено небезпечні елементи C89, наприклад, неявне оголошення функцій і неявне
int
.
Для C99 випущено три коригувальних документи:
- ISO/IEC 9899:1999/Cor 1:2001(E)
- ISO/IEC 9899:1999/Cor 2:2004(E)
- ISO/IEC 9899:1999/Cor 3:2007(E)
C99 більше не підтримують комітети ANSI/INCITS та ISO/IEC на користь підтримки та розробки C11.
C11
C11 — новий стандарт мови, прийнятий 2011 року як ISO/IEC 9899:2011. Основними оновленнями є покращена підтримка Юнікоду, поява нового ключового слова _Generic
, платформна підтримка багатопотоковості (threads.h
) та підтримка атомарних типів у мові та бібліотеці (stdatomic.h
).
Для C11 випущено один коригуючий документ:
- ISO/IEC 9899:2011/Cor 1:2012
С17
Станом на 2021 рік, C17 був поточним стандартом мови C.
В основному C17 коригує дефекти, виявлені в C11, не вносячи ніяких нововведень.
Підтримка компіляторами
ANSI C нині підтримують практично всі поширені компілятори мови C. будь-яка програма, яку написано тільки з використанням стандарту і без специфічних апаратних припущень, гарантовано повинна працювати на будь-якій платформі з достатньо стандартною реалізацією мови C.
Примітки
- 14:00-17:00. ISO/IEC 9899:1999. ISO (англ.). Процитовано 21 січня 2019.
- . ANSI. Архів оригіналу за 31 березня 2022. Процитовано 29 березня 2022.
- . Архів оригіналу за 10 жовтня 2016. Процитовано 24 червня 2012.
- . International Organization for Standardization. Архів оригіналу за 29 березня 2022. Процитовано 29 березня 2022.
- . www.iso.org. Архів оригіналу за 10 серпня 2018. Процитовано 29 березня 2022.
- . www.iso-9899.info. Архів оригіналу за 25 лютого 2005. Процитовано 29 березня 2022.
Посилання
- Робоча група ISO C [ 12 лютого 2018 у Wayback Machine.](англ.)
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
ANSI C standart movi C opublikovanij amerikanskim Nacionalnim institutom standartiv ANSI Dotrimannya cogo standartu dopomagaye stvoryuvati legko portovani programi IstoriyaPershij standart movi C opublikuvav Amerikanskij institut ANSI Cherez deyakij chas jogo prijnyala mizhnarodna organizaciya zi standartizaciyi ISO yaka j prodovzhila vipuskati nastupni versiyi standartu yaki stav prijmati za standart i institutom ANSI Popri ce standart dosi chastishe nazivayut ANSI C a ne ISO C C89 1983 roku amerikanskij Nacionalnij institut standartiv sformuvav komitet X3J11 dlya stvorennya specifikaciyi standartu C 1989 roku pislya trivalogo i napruzhenogo procesu standart zavershili i zatverdili yak ANSI X3 159 1989 Mova programuvannya C Same cyu versiyu chasto nazivayut ANSI C abo C89 shob vidrizniti yiyi vid C99 C90 1990 roku standart ANSI C z nevelikimi zminami prijnyala mizhnarodna organizaciya zi standartizaciyi ISO yak ISO IEC 9899 1990 Cyu versiyu inodi nazivayut C90 Odnak termini C89 i C90 stosuyutsya po suti odniyeyi movi C99 Dokladnishe C99 U berezni 2000 roku ANSI prijnyav standart ISO IEC 9899 1999 Cej standart zazvichaj nazivayut C99 Osnovni novovvedennya Novi vbudovani tipi danih long long Bool Complex j Imaginary Novi mozhlivosti movi zokrema masivi zminnoyi dovzhini indeksi statichnih masiviv compound literali variativni makrosi klyuchove slovo restrict Novi zagolovni fajli zokrema a href wiki Stdint h title Stdint h stdint h a tgmath h fenv h complex h Mozhlivosti sumisni zi C zokrema inline funkciyi odnoryadkovi komentari zmishannya deklaracij ta kodu simvoli Yunikodu v identifikatorah Vilucheno nebezpechni elementi C89 napriklad neyavne ogoloshennya funkcij i neyavne int Dlya C99 vipusheno tri koriguvalnih dokumenti ISO IEC 9899 1999 Cor 1 2001 E ISO IEC 9899 1999 Cor 2 2004 E ISO IEC 9899 1999 Cor 3 2007 E C99 bilshe ne pidtrimuyut komiteti ANSI INCITS ta ISO IEC na korist pidtrimki ta rozrobki C11 C11 Dokladnishe C11 C11 novij standart movi prijnyatij 2011 roku yak ISO IEC 9899 2011 Osnovnimi onovlennyami ye pokrashena pidtrimka Yunikodu poyava novogo klyuchovogo slova Generic platformna pidtrimka bagatopotokovosti threads h ta pidtrimka atomarnih tipiv u movi ta biblioteci stdatomic h Dlya C11 vipusheno odin koriguyuchij dokument ISO IEC 9899 2011 Cor 1 2012 S17 Stanom na 2021 rik C17 buv potochnim standartom movi C V osnovnomu C17 koriguye defekti viyavleni v C11 ne vnosyachi niyakih novovveden Pidtrimka kompilyatoramiANSI C nini pidtrimuyut praktichno vsi poshireni kompilyatori movi C bud yaka programa yaku napisano tilki z vikoristannyam standartu i bez specifichnih aparatnih pripushen garantovano povinna pracyuvati na bud yakij platformi z dostatno standartnoyu realizaciyeyu movi C Primitki14 00 17 00 ISO IEC 9899 1999 ISO angl Procitovano 21 sichnya 2019 ANSI Arhiv originalu za 31 bereznya 2022 Procitovano 29 bereznya 2022 Arhiv originalu za 10 zhovtnya 2016 Procitovano 24 chervnya 2012 International Organization for Standardization Arhiv originalu za 29 bereznya 2022 Procitovano 29 bereznya 2022 www iso org Arhiv originalu za 10 serpnya 2018 Procitovano 29 bereznya 2022 www iso 9899 info Arhiv originalu za 25 lyutogo 2005 Procitovano 29 bereznya 2022 PosilannyaRobocha grupa ISO C 12 lyutogo 2018 u Wayback Machine angl