作者:圣友家具简章da | 来源:互联网 | 2023-05-17 12:07
我想在linux内核实现软浮点运算,现在的linux内核是用busybox精简出来的,包含的东西应该比较少。请问如何实现比较简单?有没有现成的库使用?有哪些注意点之类的?请高手指教,谢
我想在linux内核实现软浮点运算,现在的linux内核是用busybox精简出来的,包含的东西应该比较少。
请问如何实现比较简单?
有没有现成的库使用?
有哪些注意点之类的?
请高手指教,谢谢!
7 个解决方案
怎么没人回?
我的理解是这样的,教新的linux内核都有math-emu目录,里面应该实现了软浮点,
问题是,不知道怎么用那些定义的函数来做浮点运算,有没有浮点运算编程的例子之类的?
现在的内核支持软浮点运算吗?如果是的话,你去math-emu目录里面找一找有哪些函数可以使用,直接调用函数进行运算就可以了,当然,可能要在内核中去配置对浮点库的支持(我猜想在默认情况下应该是不支持浮点运算库的)
如果你的内核里编译进了浮点支持,那么是可以的。要不内核或是模块不能用float或是double内型的变量或函数,否则
在配置内核的时候把浮点模拟器选上,应该是可以支持的,但是速度非常慢。
我曾经遇到过,硬件明明支持浮点运算的,但是编译内核的时候选上了浮点模拟器,结果所有的应用程序的浮点运算速度都非常慢。所以我怀疑要支持浮点只要编译内核的时候选上,对于应用程序不需要怎么关心。
浮点数和体系结构有关
另外需要人工保存和回复浮点数寄存器