C11
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.
Standardille on julkaistu yksi korjaus: ISO/IEC 9899:2011/Cor 1:2012[2]
Ominaisuudet
C11 ominaisuudet:[1]
- parannettu Unicode tuki (ISO/IEC TR 19769:2004)
- atomiset operaatiot standardikirjastoon[3]
- Säikeistyksen tuki ja
mtx_t
[4] - 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
käännösaikaisten tarkastusten laatimista vartenquick_exit
-funktio- suuri joukko mm.
printf
-,scanf
jastr*
-perheen funktioita on korvattu _s-päätteisillä joilla voidaan korvata pienellä vaivalla tietoturvaltaan kyseenalaisia funktioita (Annex K)[5] - 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
- ISO/IEC 9899:2011 iso.org. Viitattu 9.2.2017.
- https://www.iso.org/standard/61717.html
- Atomic operations library en.cppreference.com. Viitattu 8.2.2017.
- Thread support library en.cppreference.com. Viitattu 9.2.2017.
- http://www.drdobbs.com/cpp/the-new-c-standard-explored/232901670?pgno=2
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.