当#include <arm_neon.h>时,为什么Linux内核#include <stdint.h>不是?

时间:2018-03-20 11:39:43

标签: linux gcc neon

当我想在内核代码中添加头文件arm_neon.h时会抛出错误

gcc/linux-x86/arm/arm-none-linux-gnueabi-4.3.3/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/include/arm_neon.h:45:20: error: stdint.h: No such file or directory

但在用户空间中包含相同的文件不会这样做。

从此参考资料中

  

NEON内在函数

     

也支持NEON内在函数。但是,作为使用NEON内在函数的代码   依赖于GCC标题<arm_neon.h>,(#includes <stdint.h>),除上述规则外,您还应遵守以下规则:

     
      
  • 使用'-ffreestanding'编译包含NEON内在函数的单元,以便GCC使用其内置版本的<stdint.h>(这是内核不提供的C99头文件);
  •   
  • 最后包括<arm_neon.h>,或至少在<linux/types.h>
  • 之后   

我添加了-ffreestanding选项,但我仍然遇到同样的错误。

0 个答案:

没有答案