酷GCC内建
回答
GCC提供了许多功能,如编译器扩展,关闭心灵的顶部和经常使用的我是:
Statement Expressions
Designated Initializers
还有更多的记录了GCC网站上here。
警告: 然而,使用任何形式的编译器扩展的渲染你的代码不可移植在其他的编译器所以不要在风险中使用它们。
将指定的初始化器看作一个扩展是有点怪异的,它是自C99以来的标准的一部分..(我知道他们这样说) –
指定的初始值设定项是C语言的一部分,不是扩展名。 –
如果你想的多么有用gcc extensions可以再GCC hacks in the Linux kernel是一个有趣的选择,因为如果它是在Linux内核中使用现实生活中的例子那么它可能是一个很好的我ndication它有一些真实世界的影响。如前所述,使用扩展程序确实会使您的代码不可移植,但clang does make an effort to support gcc extensions可能会减轻一些影响。
Linux内核中未涉及的一个扩展是statement expressions,同样参见Are compund statements (blocks) surrounded by parens expressions in ANSI C?。
本文涵盖了以下功能:
- 使用typeof
- 范围扩展,它包括Case Ranges和Designated Initializers
- Zero-length arrays是柔性阵列成员,但类型的发现与一些添加
- 确定呼叫地址使用__builtin_return_addres
- 常量检测使用摹__builtin_constant_p
- Function Attributes
- 分支预测提示使用__builtin_prefetch
- Variable attributes
- 1. 内建gcc自旋锁
- 2. 如何创建一个酷酷的外观照片库
- 3. 酷酷时的Groovy错误
- 4. 使用gcc的内建功能__builtin_add_overflow_p
- 5. 设计酷UITableView
- 6. 酷TagCloud为jquery
- 7. 酷PostSharp方面
- 8. 构建GCC只
- 9. 学习gcc内部
- 10. gcc是否提供内建读取大端内存?
- 11. NVCC与AVX支持找不到GCC内建内在
- 12. 酷似CSS3规范
- 13. GCC VS铛:内嵌在-fPIC
- 14. 推荐gcc内联函数
- 15. gcc内存中编译
- 16. MSVC内联汇编GCC的
- 17. gcc“未内联”警告
- 18. C++的gcc串内联
- 19. GCC内联汇编可变
- 20. C,内联函数和GCC
- 21. ARM GCC内嵌汇编
- 22. GCC内联汇编:约束
- 23. GCC内联ASM保证
- 24. GCC GNU组件内核
- 25. GCC内联汇编错误
- 26. 试图复制一个很酷的下拉内容
- 27. 酷数量计数器
- 28. WebGL的酷应用程序?
- 29. caroufredsel酷转盘51四象
- 30. 分享酷CSS3技巧
使用__builtin_prefetch
尽管扩展是坏的,但一些内建函数(与标准名称相同)非常有用,因为它们使操作看起来实际上可能很慢/效率低下。 –
您也许会觉得这个问题很有用:http://stackoverflow.com/questions/3375697/useful-gcc-flags-for-c –