Clang 和 GCC 定义了一堆内置函数,我将在此处使用余数示例:
__builtin_sqrt(x)
Run Code Online (Sandbox Code Playgroud)
但是,标准 C99 中定义了以下内容 math.h
sqrt(x)
Run Code Online (Sandbox Code Playgroud)
clang 为已经存在的方法定义内置函数有什么意义?我原以为常见的数学函数(例如 sqrt)会由后端优化,因此实际上并不需要内置函数。出于显而易见的原因,此内置函数的可移植性低于标准 c。