C11
ohjelmointikieli From Wikipedia, the free encyclopedia
Remove ads
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.
Remove ads
Lähteet
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads