ISO (iso是什么意思)
本文目录导航:
ISO/IEC 9899:2011ISO/IEC 9899:2011简介
在2011年12月,国际标准化组织ISO与国际电工委员会IEC联合发布了ISO/IEC 9899:2011,通常简称为C11,它标志着C程序语言的最新标准。
这个版本的C语言相较于之前的标准C99有了显著提升,特别是对C++兼容性的增强和诸多新特性。
C11标准引入了对齐处理的标准化,包括_Alignas标志符,alignof运算符,aligned_alloc函数以及头文件,使得代码在多平台上的性能更加优化。
此外,_Noreturn函数标记被引入,类似于gcc的__attribute__((noreturn)),用于声明不会返回的函数。
另一个重要的特性是_Generic关键字,使得程序员能够编写更加灵活和通用的代码。
C11还引入了多线程支持,提供了_thread_local存储类型,头文件中包含创建和管理线程的函数,这对于并发编程的支持更为全面。
对Unicode的支持也得到了增强,基于ISO/IEC TR :2004,C11增加了对UTF-16/UTF-32编码的char16_t和char32_t数据类型,以及头文件中的字符串转换函数,提升了对国际化编程的友好性。
值得注意的是,C11标准删除了老旧的gets()函数,以提高安全性,推荐使用新的gets_s()函数。
同时,它引入了边界检查函数接口,如fopen_s()和strcat_s(),增强了文件操作的安全性。
在浮点处理方面,C11提供了更多的宏和优化,使得精度和性能得到了改进。
匿名结构体/联合体的支持,尽管在gcc中早有应用,但在C11标准中得到了正式承认。
静态断言(Static assertions)通过_Static_assert()函数,增强了代码的健壮性。
C11还引入了新的fopen()模式(…x),类似于POSIX的O_CREAT|O_EXCL,常用于文件锁管理。
此外,quick_exit()函数的出现,为程序的终止提供了更多选择,当exit()函数无法正常工作时,它能进行最少的清理工作。
最后,_Atomic类型修饰符和头文件的引入,使得并发编程中的原子操作更加容易和可靠。

北京指南针公司面试好过吗
好过。
北京指南针公司面试好过,就问了一些C++相关的知识点,比如虚函数、C11新特性、一些模板相关的知识点。
指南针品牌创建于1997年,总部设立在北京,自成立以来一直专注于证券分析和证券信息服务。
C语言标准——C89、C99、C11、C17、C2x ...
C语言的标准化进程经历了多个阶段,从最初的未标准化到如今的C2x版本,逐步形成了现代C语言的基础。
早期的C语言并未正式标准化,直到1989年,ANSI制定了第一个C标准,称为C89或ANSI C,随后被ISO采纳为国际标准。
C89标准对语言进行了规范,包括一些重要的改动。
1995年,C89标准进行了修订和扩充,称为C95,但严格来说,这不是一个真正的标准。
C99标准在1999年发布,对C语言进行了必要的修正和完善,增加了更多特性,包括字节对齐说明符、泛型机制、多线程支持等。
2011年,C11标准发布,对C语言进行了一系列的改进和补充,新特性包括静态断言、原子操作和Unicode支持,但没有引入新的语言特性。
2018年,ISO/IEC 9899:2018标准发布,被称为C17或C18,是目前最新的C语言标准,用于替代C11标准,没有引入新的语言特性,但对C11进行了补充和修正。
预计C2x版本将在2022年发布,将对C语言进行进一步的改进和扩展。
目前,C语言的设计理念和哲学强调简洁和高效,因此面向对象的特性如类、继承和多态等,尽管在其他语言中广泛使用,但在C语言中并未被采纳。