首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >酷炫的GCC内置

酷炫的GCC内置
EN

Stack Overflow用户
提问于 2012-01-24 23:44:53
回答 3查看 1.5K关注 0票数 2

多年来,我听说过很多很酷的GCC扩展和内置函数,但我总是在考虑使用它们之前忘记它们。

有哪些很酷的GCC扩展和内置,以及一些如何使用它们的真实示例?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-01-24 23:47:43

GCC提供了许多作为编译器扩展的功能,我最不关心的和我经常使用的是:

在GCC的网站上有更多的文档。

警告:但是,使用任何形式的编译器扩展都会使您的代码在其他编译器之间不可移植,因此使用它们是有风险的。

票数 3
EN

Stack Overflow用户

发布于 2014-04-16 03:06:33

如果您想要了解gcc extensions有多有用,那么GCC hacks in the Linux kernel是一个有趣的选择,因为如果它在Linux内核中使用,那么这可能是一个很好的迹象,表明它具有一些现实世界的影响。如前所述,使用扩展确实会使您的代码不可移植,但clang does make an effort to support gcc extensions可能会减轻一些影响。

一个没有涉及但在Linux内核中被大量使用的扩展是statement expressions,也请参见Are compund statements (blocks) surrounded by parens expressions in ANSI C?

本文介绍了以下功能:

使用typeof

  • Range扩展的
  • 类型发现(包括Case Ranges__builtin_prefetch
  • Variable attributes

)是灵活的数组成员,但具有一些使用__builtin_return_addres

  • Constant检测的__builtin_constant_p

  • Function Attributes调用地址使用__builtin_expect

  • Pre-fetching使用__builtin_prefetch

  • Variable attributes

  • 分支预测提示
票数 2
EN

Stack Overflow用户

发布于 2012-01-25 00:08:27

我最近偶然发现了很多对模拟新的C11标准非常有帮助的代码。实际上,许多新功能已经存在,但使用了不同的语法。

将本地attributes

  • thread属性的通用编程对齐到functions

  • atomic操作(通过其通用builtins)

  • type
  • __sync_...

我已经写了其中的一些,以及如何在我的blog中将其与C11接口一起使用。

有两个功能在C11的功能中没有涉及,它们非常好,我非常希望在该标准的未来版本中看到它们

  • 语句表达式( Als)
  • __typeof__

已经提到

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

https://stackoverflow.com/questions/8989667

复制
相关文章

相似问题

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