ZHCU876Z July 2001 – October 2023 SM320F28335-EP
编译器具有大量内置函数式运算,称为内在函数。内在函数的实现由编译器处理:其用一系列指令代替函数调用。这类似于对内联函数的处理方式;然而,由于编译器知道内在函数的代码,因此可以进行更好的优化。
无论是否使用优化器,内在函数通常都是内联的。但是,如果 --opt_for_speed 选项设置为级别 0 或 1,编译器可能会选择不内联扩展为大量指令的内在函数。例如,--idiv_support=idiv0 选项启用的整数除法内在函数会扩展为比大多数内在函数更多的指令。
有关内在函数的详细信息以及内在函数列表,请参阅节 7.6。除了所列出的这些之外,abs 和 memcpy 也是作为内在函数实现的。