在内核空间中使用VC内在函数

时间:2011-05-11 15:51:08

标签: windows visual-c++ kernel device-driver wdk

我的问题是如何在内核空间(在Windows上)使用内在函数,当头文件包含在SDK中时(从VC 10安装)和我用来编译驱动程序的WDK不知道这个文件。当我#include <intrin.h>一切正常时,但是当我开始编译时,我得到了

  

错误C1083:无法打开包含文件:'intrin.h':没有这样的文件或目录

我尝试将相应的文件复制到WDK目录但是没有用完。我知道我可以开始编写内联汇编但是说实话我想避免这种情况,因为内在支持就在那里我只是不知道如何访问它。

1 个答案:

答案 0 :(得分:0)

WDK目录中缺少一些较新的标头。只需复制声明。

E.g。 (因为WDK缺少):

#include <emmintrin.h>

extern "C" {
extern __m128i _mm_abs_epi16 (__m128i a);
extern __m128i _mm_shuffle_epi8 (__m128i a, __m128i b);
extern __m128i _mm_blendv_epi8 (__m128i v1, __m128i v2, __m128i mask);
extern __m128i _mm_alignr_epi8 (__m128i a, __m128i b, int n);
};