ISO/IEC 9899:2011

基本介紹

  • 中文名:ISO/IEC 9899:2011
  • 採納時間:2011年12月
  • 屬於:C程式語言的現行標準
  • 新特性:增加了一些新的特性
簡介,新特性,

簡介

在2011年12月,ANSI 採納了 ISO/IEC 9899:2011 標準。這個標準通常簡稱C11,它是C程式語言的現行標準。
2011年12月8日,ISO正式發布了新的C語言的新標準C11,之前被稱為C1X,官方名稱為ISO/IEC 9899:2011。
2012年07月13日ISO發布ISO/IEC 9899:2011/Cor 1:2012。

新特性

新的標準提高了對C++的兼容性,並增加了一些新的特性。這些新特性包括:
對齊處理(Alignment)的標準化(包括_Alignas標誌符,alignof運算符, aligned_alloc函式以及<stdalign.h>頭檔案。
_Noreturn 函式標記,類似於 gcc 的 __attribute__((noreturn))。
_Generic 關鍵字。
多執行緒(Multithreading)支持,包括:_Thread_local存儲類型標識符,<threads.h>頭檔案,裡面包含了執行緒的創建和管理函式。
增強的Unicode的支持。基於C Unicode技術報告ISO/IEC TR 19769:2004,增強了對Unicode的支持。包括為UTF-16/UTF-32編碼增加了char16_t和char32_t數據類型,提供了包含unicode字元串轉換函式的頭檔案<uchar.h>.
刪除了 gets() 函式,使用一個新的更安全的函式gets_s()替代。
增加了邊界檢查函式接口,定義了新的安全的函式,例如 fopen_s(),strcat_s() 等等。
增加了更多浮點處理宏。
匿名結構體/聯合體支持。這個在gcc早已存在,C11將其引入標準。
靜態斷言(Static assertions),_Static_assert(),在解釋 #if 和 #error 之後被處理。
新的 fopen() 模式,(“…x”)。類似 POSIX 中的 O_CREAT|O_EXCL,在檔案鎖中比較常用。
新增 quick_exit() 函式作為第三種終止程式的方式。當 exit()失敗時可以做最少的清理工作。
_Atomic類型修飾符和<stdatomic.h>頭檔案。

相關詞條

熱門詞條

聯絡我們