我已经下载了glibc的源代码,并且很长一段时间找到函数ceil(),但我找不到它,谁能告诉我它在哪里?
我在哪里可以找到有关如何在glibc源代码中找到某些函数源代码的详细信息。
谢谢。
答案 0 :(得分:5)
猜测,它可能是用汇编语言编写的。它基本上分三步完成:
不幸的是,更改舍入模式的代码相当难看。舍入模式是浮点控制寄存器中的几位。您无法更改FPU内的FPCR,因此您必须将其存储,然后将其加载到CPU上的寄存器中,修改一些位,将其存储,然后将修改后的版本加载回FPU。然后执行一条FP指令,并再次执行相同操作,但反之亦然。
我似乎回忆起几年前英特尔的一些文献在谈论这个,并且(或许)谈论一个更好的方法来处理它 - 但我可以想象,即使我不是,我也不会记住他们的改进版本是如何运作的。