3
我需要在内核模块中进行整数除法,并且我正在使用do_div()。它似乎在我的机器上工作(我有一个i686处理器),但我不确定它在任何地方都可以工作。任何人都可以确认do_div()
在32位和64位体系结构中是否应该正常运行,或者是否有任何已知的限制?Linux中的do_div()在32位和64位体系结构中工作吗?
我使用Ubuntu 10.04与内核2.6.38,所以我有兴趣支持内核> = 2.6.38。
我也会感兴趣,如果有人知道一个更好的方法来做一个整数除内核比do_div()
。
问候
丹尼尔
嗨,感谢您的评论。然后我明白do_div()应该始终工作,不管架构如何,对吗?关于做位移,只有当我想用2的幂来除时才是可能的,对吗?这不是我的情况,因为我需要除以任何整数。 –