内核里:进行 64bit (long long) 的除法运算的话:

long long x;
long y, z;
z = x / y;

会出现这样的错误 unresolved symbols __udivdi3



可以使用do_div来进行64bit的除法运算。


#include <asm-generic/div64.h>

int hoge()
{
    long long x;
    long y, z;

    /* x = x / y, z = x % y  */
    z = do_div(x, y);
}