首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可用的编译器是否提供了C11 '_Atomic‘关键字及其相关头'stdatomic.h’的实现?

可用的编译器是否提供了C11 '_Atomic‘关键字及其相关头'stdatomic.h’的实现?
EN

Stack Overflow用户
提问于 2012-01-05 10:54:51
回答 3查看 2.2K关注 0票数 4

我知道C11标准只有一个月的历史,但是_Atomic的草案要老得多。我也知道GCC编译器在标准正式通过之前就认真地实现了这些特性。但即便是那里,这种支持也尚未准备好进入黄金时段。

但是,我也会对其他编译器感兴趣: Visual或嵌入式编译器cq。环境。是否有编译器提供者准备提供这种支持?欢迎任何链接。

我在问这个问题,因为我在从事汽车嵌入式开发,我想知道我自己是否应该走向这个方向。到目前为止,大多数环境(如AutoSAR或Vector支持)都在提供本土开发的解决方案,而新标准现在为这些解决方案提供了特定的语法和语义,只要编译器作者不朝着C11的方向前进,这将仍然是唯一真正的解决方案。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-01-05 11:09:18

我认为支持关键字本身需要一些时间,我还没有看到一些东西。关于库支持(支持功能),已经有更多了。尤其是,我知道gcc为大多数平台实现了原子操作的泛型函数,在整数类型上实现__sync_...

我目前正在为P99 for C11开发一个遵从层。线程部分( POSIX线程之上)已经存在,atomics (使用gcc原语)很快就会完成。这将是一个通用的实现,通过实现标准中预见的类型属 atomic_...函数的宏来支持所有基本类型的atomics。

它就快到了,您可以在P99站点上查看第一个版本,但是我仍然需要一些时间来完成它。

票数 3
EN

Stack Overflow用户

发布于 2012-02-13 09:33:21

FreeBSD HEAD包括一个可移植的版本:http://svnweb.freebsd.org/base/head/include/stdatomic.h?view=markup

它支持三种不同类型的编译器:

  • Clang3.1的原子本质(尚未发布)
  • GCC 4.7的原子本质(尚未发布)
  • GCC的__sync接口
票数 2
EN

Stack Overflow用户

发布于 2012-04-16 07:20:27

Pelles版本7.00 (发布候选版本)支持它们。

http://www.smorgasbordet.com/pellesc/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8741299

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档