0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

C 语言的下一个 ISO标准将会是 C2x ?

黄工的嵌入式技术圈 来源:黄工的嵌入式技术圈 作者:黄工的嵌入式技术 2020-02-27 16:40 次阅读

前不久分享了关于C语言的文章:C语言依然位居榜单前列,依然值得程序员学习。 一直觉得C语言是“神”一样的编程语言,这么多年可以稳稳的排在前列(当然,能排上名,自然有它的道理)。 一、前言之前,《现代C》的作者Jens Gustedt透露,C委员会现已开始构建下一个C标准的真正修订版,被称为“C2x”。其中“x”应该代表新标准出现的年份数字,预计将于 2022 年完成的 C2x 标准。 同时,Gustedt还透露:我们会定期发布工作草案,其中包括目前已添加的更改。除了C17这是一个纯粹的bug修复版本,这样的工作文件引入了规范性的变化并且是公开的。 其中,整理了一些草案:

其中,提到其目的是促进可移植性、可靠性、可维护性等。 草案具体内容,可以参看Gustedt的博客:

https://gustedt.wordpress.com/2018/11/12/c2x


二、即将推出的C2x主要目标是什么?

Gustedt回答:

新 C 标准的制定主要是为了完善一些目标。

关键点是这个标准旨在描述现有的实践,而不是发明本身。只要有可能,发明应该在现有的 C 编译器中进行,或者来自其他编程语言(事实上主要是 C++)。

也就是说,还有很多工作将清理现有的特性,追求语义上的模糊性,并添加可能有助于日常编码的小特性。

三、语言方面的变化有哪些是值得我们期待的?

Gustedt回答:

在语言和库级别,程序员直接可见的部分目前还没有太多定论。我的期望是我们将看到一些集成到 C 中的 C++ 特性,例如属性、以某种形式编译所有数据类型的时间常量,以及初始化类型(也就是 C++ 的 auto feature)。

此外,还有一个 C++ 的协调计划,用于新的调用约定,它可以取代我们从一开始就一直在使用的错误码返回约定。

但是 C 标准还有另一个重要的作用,因为它基本上为我们的计算机架构和其他编程语言构建设置了机器模型。C 标准将其称为“抽象状态机”。作为一个重要的特性,我们已经投票将最新的 IEEE 浮点规范集成到 C 标准中。

我们还组建了一个工作组来修改“内存模型”,事关程序员可能会或者可能不会直接与计算机内存中数据裸表示交互、这可能将如何影响一些可能的优化以及这种字节和位的调整将如何变得安全可靠。

这项工作遵循的是 Peter Sewell(等人)关于“指针来源”的论文,我们希望我们最终得到的内存模型可以广泛适用于 C 系统软件和应用程序的多样性。


四、C 特别擅长的用途和应用领域?Gustedt回答:C 最大的优点是效率、可移植性和稳定性。只要这些是软件开发当中存在的主要问题,那么 C 就应该被视为首选语言。 本文参考:

https://www.infoq.cn/article/lG_76LvIfjol2V3lUHl5

参考Gustedt的博客:

https://gustedt.wordpress.com/2018/11/12/c2x

可以看得出来,C语言还在大力发展,附上一张2019年8月,最新 TIOBE 编程语言排行榜(C语言仅次于JAVA):

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C语言
    +关注

    关注

    180

    文章

    7618

    浏览量

    138649
  • ISO
    ISO
    +关注

    关注

    0

    文章

    269

    浏览量

    39794
  • C2xx
    +关注

    关注

    0

    文章

    2

    浏览量

    6560
收藏 人收藏

    评论

    相关推荐

    ISO154xEVM低功耗双向I2C隔离器评估模块

    电子发烧友网站提供《ISO154xEVM低功耗双向I2C隔离器评估模块.pdf》资料免费下载
    发表于 11-18 14:46 0次下载
    <b class='flag-5'>ISO</b>154xEVM低功耗双向I<b class='flag-5'>2C</b>隔离器评估模块

    C语言中的socket编程基础

    。 Socket编程的基本步骤 在C语言中,socket编程的基本步骤如下: 步骤1:创建socket 步骤2:绑定socket到地址和
    的头像 发表于 11-01 16:51 612次阅读

    TMS320C28x汇编语言工具

    电子发烧友网站提供《TMS320C28x汇编语言工具.pdf》资料免费下载
    发表于 11-01 09:32 0次下载
    TMS320<b class='flag-5'>C28x</b>汇编<b class='flag-5'>语言</b>工具

    C语言与Java语言的对比

    C语言和Java语言都是当前编程领域中的重要成员,它们各自具有独特的优势和特点,适用于不同的应用场景。以下将从语法特性、内存管理、跨平台性、性能、应用领域等多个方面对C
    的头像 发表于 10-29 17:31 572次阅读

    TMS320LF240x DSP的C语言和汇编代码快速入门

    电子发烧友网站提供《TMS320LF240x DSP的C语言和汇编代码快速入门.pdf》资料免费下载
    发表于 10-18 10:14 1次下载
    TMS320LF240<b class='flag-5'>x</b> DSP的<b class='flag-5'>C</b><b class='flag-5'>语言</b>和汇编代码快速入门

    为I2C启动加载准备TMS320C645x应用程序

    电子发烧友网站提供《为I2C启动加载准备TMS320C645x应用程序.pdf》资料免费下载
    发表于 10-16 11:30 0次下载
    为I<b class='flag-5'>2C</b>启动加载准备TMS320<b class='flag-5'>C645x</b>应用程序

    使用tSPI协议减少下一个多电机BLDC设计的布线

    电子发烧友网站提供《使用tSPI协议减少下一个多电机BLDC设计的布线.pdf》资料免费下载
    发表于 09-26 10:40 0次下载
    使用tSPI协议减少<b class='flag-5'>下一个</b>多电机BLDC设计的布线

    C语言指针详细解析

    ,pb的地址为=%p,pb的下一个地址为=%p\\\\n\", b, pb, pb + 1); printf(\"c的值为:%d,pc的地址为=%p,pc的下一个地址为=%p
    发表于 09-14 10:03

    ISO7240CF-Q1,ISO7240C-Q1,ISO7241C-Q1,ISO7242C-Q1高速四通道数字隔离器数据表

    电子发烧友网站提供《ISO7240CF-Q1,ISO7240C-Q1,ISO7241C-Q1,ISO7242C-Q1高速四通道数字隔离器数据表.pdf》资料免费下载
    发表于 08-20 11:07 0次下载
    <b class='flag-5'>ISO</b>7240CF-Q1,<b class='flag-5'>ISO7240C</b>-Q1,<b class='flag-5'>ISO7241C</b>-Q1,<b class='flag-5'>ISO7242C</b>-Q1高速四通道数字隔离器数据表

    ISO7230C-Q1和ISO7231C-Q1三通道 2/1 25Mbps数字隔离器数据表

    电子发烧友网站提供《ISO7230C-Q1和ISO7231C-Q1三通道 2/1 25Mbps数字隔离器数据表.pdf》资料免费下载
    发表于 08-20 11:05 0次下载
    <b class='flag-5'>ISO7230C</b>-Q1和<b class='flag-5'>ISO7231C</b>-Q1三通道 <b class='flag-5'>2</b>/1 25Mbps数字隔离器数据表

    ISO154x低功耗双向I2C隔离器数据表

    电子发烧友网站提供《ISO154x低功耗双向I2C隔离器数据表.pdf》资料免费下载
    发表于 08-19 11:35 0次下载
    <b class='flag-5'>ISO154x</b>低功耗双向I<b class='flag-5'>2C</b>隔离器数据表

    ISO154x-Q1低功耗双向I2C隔离器数据表

    电子发烧友网站提供《ISO154x-Q1低功耗双向I2C隔离器数据表.pdf》资料免费下载
    发表于 08-19 11:33 0次下载
    <b class='flag-5'>ISO154x</b>-Q1低功耗双向I<b class='flag-5'>2C</b>隔离器数据表

    具有增强EMC和GPIO的ISO164x热插拔双向I2C隔离器数据表

    电子发烧友网站提供《具有增强EMC和GPIO的ISO164x热插拔双向I2C隔离器数据表.pdf》资料免费下载
    发表于 08-16 11:09 0次下载
    具有增强EMC和GPIO的<b class='flag-5'>ISO164x</b>热插拔双向I<b class='flag-5'>2C</b>隔离器数据表

    按照这样学习C语言,成为卷王不是梦!

    在计算机编程领域,C语言被誉为种强大而灵活的编程语言,掌握好C语言不仅可以让你轻松驾驭各种编程
    的头像 发表于 07-06 08:04 411次阅读
    按照这样学习<b class='flag-5'>C</b><b class='flag-5'>语言</b>,成为卷王不是梦!

    C语言中,同一个函数能不能被定义两次?

    稍微有点C语言基础的同学,定知道不能这样做。
    的头像 发表于 05-11 18:27 2011次阅读