我使用kernel_fpu_begin和kernel_fpu_end函数来保护内核模块中的一些简单浮点算法的FPU寄存器状态。我很好奇在kernel_fpu_begin函数之前两次调用kernel_fpu_end函数的行为,反之亦然。kernel_fpu_begin();
unsigned z = 42;在foo函数中,我调用kernel_fpu_be
所以我在AT&T中用汇编语言写了一些C,我现在有一个小问题,因为当我调用第一个函数,也就是带浮点参数的f_float时,参数是从堆栈中加载的,返回值是正确的。但是第二次使用双精度参数调用f_double时,不会从堆栈中加载值。我使用的是linux Mint 17.1,gcc版本4.9.2(Ubuntu4.9.2-0ubuntu1~14.04)。有什么建议吗?#include <stdio.h>
double f_double(double);
float a, f_result;