Использование встроенного VC в пространстве ядра - PullRequest
2 голосов
/ 11 мая 2011

Мой вопрос заключается в том, как использовать встроенные функции в пространстве ядра (в Windows), когда файл заголовка содержится в SDK (как установлено из VC 10), а WDK, который я использую для компиляции драйвера, не знаетэтот файл.Когда у меня #include <intrin.h> все работает нормально, но когда я начинаю компиляцию, я получаю

ошибка C1083: Невозможно открыть включаемый файл: 'intrin.h': Нет такого файла или каталога

Я попытался скопировать соответствующие файлы в каталог WDK, но это не сработало.Я знаю, что могу начать писать встроенную сборку, но, если честно, я хочу воздержаться от этого, поскольку внутренняя поддержка есть, я просто не знаю, как получить к ней доступ.

1 Ответ

0 голосов
/ 11 мая 2011

Некоторые из более новых заголовков отсутствуют в каталогах WDK. Просто скопируйте декларацию.

например. (потому что отсутствует в 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);
};
...