ANSI C

ANSI C är en C-språkstandard  publicerad av American National Standards Institute ( ANSI ). Att följa denna standard hjälper till att skapa lätta portabla program .

Historik

Den första standarden för C-språket publicerades av amerikanska ANSI Institute. Efter en tid antogs den av den internationella organisationen för standardisering ISO , som fortsatte att släppa följande versioner av standarden, som började accepteras som en standard av ANSI-institutet. Trots detta kallas standarden fortfarande oftare för ANSI C snarare än ISO C.

C89

1983 bildade American National Standards Institute kommitté X3J11 för att skapa en specifikation för standarden C. 1989, efter en lång och mödosam process, slutfördes standarden och godkändes som ANSI X3.159-1989 "The C Programming Language". Det är denna version som ofta kallas "ANSI C" eller "C89" (för att skilja den från C99 ).

C90

1990 antogs ANSI C-standarden (med mindre ändringar) av International Organization for Standardization (ISO) som ISO/IEC 9899:1990. Denna version kallas ibland för C90. Termerna C89 och C90 hänvisar dock i huvudsak till samma språk.

C99

I mars 2000 antog ANSI standarden ISO/IEC 9899:1999 [1] . Denna standard kallas vanligtvis C99. Huvudsakliga innovationer:

Tre korrigerande dokument har släppts för C99:

C99 stöds inte längre av ANSI/INCITS [2] och ISO/IEC [3] kommittéerna för att behålla och utveckla C11.

C11

C11 är en ny språkstandard som antogs 2011 som ISO/IEC 9899:2011. De viktigaste innovationerna är förbättrat stöd för Unicode , introduktionen av ett nytt nyckelord _Generic, stöd för flera plattformar för flera trådar ( threads.h) och stöd för atomtyper i språket och biblioteket ( stdatomic.h).

Ett korrigerande dokument har släppts för C11:

C17

Från och med 2021 är C17 den nuvarande standarden för C-språket [5] .

I princip korrigerar C17 de defekter som finns i C11 utan att införa några innovationer [6] .

Kompilatorstöd

ANSI C stöds nu av nästan alla vanliga C -språkkompilatorer . Alla program som bara är skrivna med standarden och som inte tillåter specifika hårdvaruantaganden kommer garanterat att fungera på vilken plattform som helst med en ganska standardimplementering av C-språket.

Länkar

Anteckningar

  1. 14:00-17:00 ISO/IEC 9899:1999  (engelska) . ISO . Hämtad: 21 januari 2019.
  2. INCITS/ISO/IEC 9899-2012 . ANSI. Hämtad 23 augusti 2021. Arkiverad från originalet 31 mars 2022.
  3. ISO/IEC 9899:1999 - Programmeringsspråk - C . Hämtad 24 juni 2012. Arkiverad från originalet 10 oktober 2016.
  4. ISO/IEC 9899:2011/Cor 1:2012 . Internationella standardiseringsorganisationen. Hämtad 23 augusti 2021. Arkiverad från originalet 29 mars 2022.
  5. ISO/IEC 9899:2018 - Informationsteknik - Programmeringsspråk - C . www.iso.org . Hämtad 23 augusti 2021. Arkiverad från originalet 10 augusti 2018.
  6. Standard-C . www.iso-9899.info _ Hämtad 23 augusti 2021. Arkiverad från originalet 25 februari 2005.