找不到_BitScan逆向标识符

我正在开发一些额外的游戏选项(这意味着我没有关于整个游戏的方法,类等的知识)。

无论如何,我一直在尝试为我开发的代码来testing它们。 我遇到了一些DirectX,Windows SDK版本,编译器问题,但设法解决它们。 但是现在我遇到了一些BitScanReverse错误。

它说:C3861'_BitScanReverse':标识符未find

以下是我遇到的错误的完整代码:

#pragma once #include <algorithm> #include <memory> #include <string> #include <vector> #include <initializer_list> #include <functional> #include <iterator> #ifdef _MSC_VER // BitScanReverse ERROR 1 _BitScanReverse(&n, ~code); #else n = sizeof(long) * 8 - 1 - __builtin_clzl(~code); #endif code &= ~(-1 << n); n = 6 - n; ptr++; #ifdef _MSC_VER // BitScanReverse ERROR 2 _BitScanReverse(&n, ucode); #else n = sizeof(long) * 8 - 1 - __builtin_clzl(ucode); #endif 

我已经通过SVN降低了源代码,所以整个项目实际上工作。 我只是无法设法在我的本地笔记本电脑或台式电脑。

顺便说一句,我试图用Visual Studio 2015 Enterprise(与其他错误),Visual Studio 2017 Proffesional和Community Edition(同样的错误)来构建它。 实际上,这个项目是用Visual Studio 2013和2015开发的。

我甚至不是很好的C ++编码器,所以我不知道这个问题。 有没有人有一个想法?

根据这里的文档_BitScanReverse在头文件<intrin.h>中。 尝试将#include <intrin.h>添加到您的文件中。