C11

Kohteesta Wikipedia
Siirry navigaatioon Siirry hakuun

C11 on C-kielen ISO-standardiversio ISO/IEC 9899:2011, joka julkaistiin joulukuussa 2011.[1]

C11 korvasi aiemman standardin C99. C11:n on korvannut uusin standardi C18.

Ominaisuudet[muokkaa | muokkaa wikitekstiä]

C11 ominaisuudet:[1]

  • parannettu Unicode tuki (ISO/IEC TR 19769:2004)
  • atomiset operaatiot standardikirjastoon[2]
  • Säikeistyksen tuki ja mtx_t[3]
  • avainsanat tietotyyppien pakkaukselle (alignment)
  • _Noreturn-määritys funktioille
  • geneeriset makrot _Generic-avainsanan avulla
  • tuki säikeistykselle ja atomisuudelle (_Thread_local, <threads.h>, _Atomic ja <stdatomic.h>)
  • parannettu Unicode-tuki (char16_t, char32_t, <uchar.h>, u8-literaalit)
  • gets-funktio poistettu vaarallisena
  • anonyymit structit ja unionit (struct T { int tag; union { float x; int n; }; };)
  • makrot liukulukujen tyyppien tarkasteluun
  • makrot imaginaarilukujen luomista varten
  • _Static_assert testitapauksien laatimista varten
  • quick_exit-funktio
  • suuri joukko mm. printf-, scanf ja str*-perheen funktioita on korvattu _s-päätteisillä joilla voidaan korvata pienellä vaivalla tietoturvaltaan kyseenalaisia funktioita (Annex K)[4]
  • analysoitavuus (Annex L)

C11 sallii toteutukset, joissa osaa standardista ei ole toteutettu. Valinnaisia osia ovat kompleksiluvut, IEC 60559 -liukuluvut, säikeistys ja atomisuus ja liitteet K ja L.

Lähteet[muokkaa | muokkaa wikitekstiä]

  1. a b ISO/IEC 9899:2011 iso.org. Viitattu 9.2.2017.
  2. Atomic operations library en.cppreference.com. Viitattu 8.2.2017.
  3. Thread support library en.cppreference.com. Viitattu 9.2.2017.
  4. http://www.drdobbs.com/cpp/the-new-c-standard-explored/232901670?pgno=2
Tämä tietotekniikkaan liittyvä artikkeli on tynkä. Voit auttaa Wikipediaa laajentamalla artikkelia.