请阅读【ARM GCC 编译专栏导读】
上篇文章:ARM 嵌入式 编译系列 4.2 – GCC 链接规范 extern “C“ 介绍
下篇文章:ARM 嵌入式 编译系列 6 – GCC objcopy, objdump, readelf, nm 介绍
什么是GCC内建函数?
GCC提供了一些专门的功能,用于访问特定的硬件指令或者实现特定的优化,它们被称为"__builtin
"函数。
这些函数在语法上看起来像是普通函数,但在编译阶段会被编译器直接转换为一些特定的机器指令,而不是像普通函数那样调用通用的函数调用协议。
GCC提供的__builtin
函数非常多,包括了数学函数、字符串操作、内存操作、位操作、类型转换、计数前导零/尾零、CPU指定指令等等功能。
使用__builtin
函数可以在不牺牲可读性的同时获得更高的性能。但是请注意,由于这些函数直接对应特定的硬件指令,所以在不同的硬件和操作系统上,它们的效果和性能可能会有所不同。因此,在编写依赖于__builtin
函数的代码时,需要特别注意移植性的问题。
要在GCC中使用__builtin
函数,只需要在代码中直接调用即可,无需包含任何头文件。
GCC 常见内建函数
GCC编译器提供了很多内建函数,这些函数可以帮助我们进行一些特殊的操作,以下是一些常见的GCC内建函数:文章来源:https://www.toymoban.com/news/detail-644134.html
-
__builtin_expect
:提供编译器关于一个条件判断表达式结果的预期值,用于优化代码, 见likely
与unlikely
的实现;文章来源地址https://www.toymoban.com/news/detail-644134.html
到了这里,关于【ARM 嵌入式 编译系列 5 -- GCC 内建函数 __builtin 介绍】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!