多年来,我听说过很多很酷的GCC扩展和内置函数,但我总是在考虑使用它们之前忘记它们。
有哪些很酷的GCC扩展和内置,以及一些如何使用它们的真实示例?
发布于 2012-01-24 23:47:43
GCC提供了许多作为编译器扩展的功能,我最不关心的和我经常使用的是:
在GCC的网站上有更多的文档。
警告:但是,使用任何形式的编译器扩展都会使您的代码在其他编译器之间不可移植,因此使用它们是有风险的。
发布于 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
)是灵活的数组成员,但具有一些使用__builtin_return_addres
的
发布于 2012-01-25 00:08:27
我最近偶然发现了很多对模拟新的C11标准非常有帮助的代码。实际上,许多新功能已经存在,但使用了不同的语法。
将本地attributes
__sync_... 我已经写了其中的一些,以及如何在我的blog中将其与C11接口一起使用。
有两个功能在C11的功能中没有涉及,它们非常好,我非常希望在该标准的未来版本中看到它们
__typeof__已经提到
https://stackoverflow.com/questions/8989667
复制相似问题