Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我已经使用 gdb 单步执行了在标准 C 数学库 (-lm -march=pentium3 -mfpmath=387) 中实现标准 C sin() 函数的汇编代码。那里有很多存根,我不知道为什么他们没有简单地内联 fsin 汇编程序指令。其他数学函数也是如此。为什么他们不只是调用相应的 FPU 指令?
因为“大量存根”比 x87fsin指令更快、更准确。与流行的看法相反,图书馆作者通常知道他们在做什么。
fsin
您可能应该启用内在函数- sinf 的内在实现几乎肯定是内联的(除非,例如,有人获取它的地址,或其他一些不寻常的情况)。
在 VS 上相当于用 /Oi 编译。