日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言新标准C11

發布時間:2023/12/20 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言新标准C11 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2011年12月8號,ISO 發布了新的 C 語言的新標準——C11,之前被稱為C1X,官方名稱 ISO/IEC 9899:2011。

相比C99的變化

1. 對齊處理操作符 alignof,函數 aligned_alloc(),以及 頭文件 <stdalign.h>。見 7.15 節。

2. _Noreturn 函數標記,類似于 gcc 的 __attribute__((noreturn))。例子:

_Noreturn void thrd_exit(int res);

3. _Generic 關鍵詞,有點兒類似于 gcc 的 typeof。例子:

#define cbrt(X) _Generic((X), long double: cbrtl, \

default: cbrt, \

float: cbrtf)(X)

4. 靜態斷言( static assertions),_Static_assert(),在解釋 #if 和 #error 之后被處理。例子:

_Static_assert(FOO > 0, "FOO has a wrong value");

5. 刪除了 gets() 函數,C99中已經將此函數被標記為過時,推薦新的替代函數 gets_s()。

6. 新的 fopen() 模式,(“…x”)。類似 POSIX 中的 O_CREAT|O_EXCL,在文件鎖中比較常用。

7. 匿名結構體/聯合體,這個早已經在 gcc 中了,我們并不陌生,定義在 6.7.2.1 p13。

8. 多線程支持,包括:_Thread_local,頭文件 <threads.h>,里面包含線程的創建和管理函數(比如 thrd_create(),thrd_exit()),mutex (比如 mtx_lock(),mtx_unlock())等等,更多內容清參考 7.26 節。

9. _Atomic類型修飾符和 頭文件 <stdatomic.h>,見 7.17 節。

10. 帶邊界檢查(Bounds-checking)的函數接口,定義了新的安全的函數,例如 fopen_s(),strcat_s() 等等。更多參考 Annex K。

11. 改進的 Unicode 支持,新的頭文件 <uchar.h> 等。

12. 新增 quick_exit() 函數,作為第三種終止程序的方式,當 exit() 失敗時可以做最少的清理工作(deinitializition),具體見 7.22.4.7。

13. 創建復數的宏, CMPLX(),見 7.3.9.3。

14. 更多浮點數處理的宏 (More macros for querying the characteristics of floating point types, concerning subnormal floating point numbers and the number of decimal digits the type is able to store)。

15. struct timespec 成為 time.h 的一部分,以及宏 TIME_UTC,函數 timespec_get()。

總結

以上是生活随笔為你收集整理的C语言新标准C11的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。