在linux内核中划分

lum*_*men 2 c linux kernel

是否有可能在Linux内核中划分并使用双值?当我尝试:

typedef struct{ 
    ...
    long long int sbe;
    ...
} connection;

hook_func(){
  connection* found 
  ...
  uint32_t time_misec ..
  uint32_t bytes_diff ..
  ...
  double be = bytes_diff / time_misec;
  found->sbe = be / 2 + found->sbe / 2;
  ...
}
Run Code Online (Sandbox Code Playgroud)

我有错误:

WARNING: "__fixunsdfsi" [/home/kir/netfilter/hello.ko] undefined!
WARNING: "__adddf3" [/home/kir/netfilter/hello.ko] undefined!
WARNING: "__floatdidf" [/home/kir/netfilter/hello.ko] undefined!
WARNING: "__muldf3" [/home/kir/netfilter/hello.ko] undefined!
WARNING: "__floatunsidf" [/home/kir/netfilter/hello.ko] undefined!
Run Code Online (Sandbox Code Playgroud)

oua*_*uah 5

对于大多数CPU,Linux内核中没有浮点支持.原因是为了避免节省FPU寄存器的高成本.