ISO发布新的C语言——新标准C11

ISO正式发布C语言新标准C11,增强了对C++的兼容性和多线程支持,新增了如_Static_assert()、_Thread_local等功能,并移除了不安全的gets()函数,用gets_s()替代,旨在提高程序的安全性和效率。
摘要由CSDN通过智能技术生成

  ISO正式发布了新的C语言的新标准C11,之前被称为C1X,官方名称为ISO/IEC 9899:2011。

  新的标准提高了对C++的兼容性,并增加了一些新的特性。这些新特性包括:

  对齐处理(Alignment)的标准化(包括_Alignas标志符,alignof运算符, aligned_alloc函数以及头文件。

  _Noreturn 函数标记,类似于 gcc 的 __attribute__((noreturn))。

  _Generic 关键字。

  多线程(Multithreading)支持,包括:

  _Thread_local存储类型标识符,头文件,里面包含了线程的创建和管理函数。

  _Atomic类型修饰符和头文件。

  增强的Unicode的支持。基于C Unicode技术报告ISO/IEC TR 19769:2004,增强了对Unicode的支持。包括为UTF-16/UTF-32编码增加了char16_t和char32_t数据类型,提供了包含unicode字符串转换函数的头文件.

  删除了 gets() 函数,使用一个新的更安全的函数gets_s()替代。

  增加了边界检查函数接口,定义了新的安全的函数,例如 fopen_s(),strcat_s() 等等。[5]

  增加了更多浮点处理宏。

  匿名结构体/联合体支持。这个在gcc早已存在,C11将其引入标准。

  静态断言(Static assertions),_Static_assert(),在解释 #if 和 #error 之后被处理。

  新的 fopen() 模式,(“…x”)。类似 POSIX 中的 O_CREAT|O_EXCL,在文件锁中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值