3
커널 모듈에서 정수 나누기가 필요하고 do_div()를 사용하고 있습니다. 그것은 내 컴퓨터에서 작동하는 것 같습니다 (나는 i686 프로세서가 있습니다), 그러나 모든 곳에서 작동하는지 확신하지 못합니다. 누구든지 do_div()
이 32 비트 및 64 비트 아키텍처에서 올바르게 작동해야하는지 또는 알려진 제한이 있는지 여부를 확인할 수 있습니까?Linux에서 do_div()는 32 비트 및 64 비트 아키텍처에서 작동합니까?
커널 2.6.38과 함께 Ubuntu 10.04를 사용하므로 커널 2.6.38 이상에 대한 지원에 관심이 있습니다.
누가 커널에서 정수 나누기를 수행하는 더 좋은 방법을 알고 있다면 do_div()
보다 흥미가 있습니다.
안부
다니엘
안녕하세요. 의견을 보내 주셔서 감사합니다. 그렇다면 do_div()가 아키텍처에 관계없이 항상 작동해야한다는 것을 이해합니다. 맞습니까? 비트 이동을 할 때, 그것은 2의 거듭 제곱으로 나누기를 원한다면 가능했을 것입니다. 정수로 나눌 필요가 있기 때문에 이것은 내 경우가 아닙니다. –