为什么Linux内核模块中的printk不支持浮点数,而printf支持呢?

3

为什么Linux内核模块中的printk不支持浮点数,而printf支持呢?


1
https://dev59.com/uWYr5IYBdhLWcg3wLnVA - gengisdave
1个回答

6
printk不支持浮点数,因为内核不使用浮点数。在某些架构中,浮点数的处理方式不同,例如在x86 FPU上使用了特定的硬件特性。如果内核使用浮点处理器,则需要在内核到用户的转换期间保存额外的状态,就像内核必须保存通用寄存器一样,现在也必须保存FPU状态。此外,内核实际上不需要使用浮点数,因此不保存必要的状态,因此printk不支持打印浮点数。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接