2012-04-13 2 views
2

Я строю шахматный движок в C++, который использует биты (__int64s), и мне нужно использовать BitScanForward64 для некоторых вычислений. Но когда я называю его, я получаю эту ошибку:Невозможно использовать BitScanForward64

error C3861: '_BitScanForward64': identifier not found

я включаю это так:

#include <intrin.h> 
#pragma intrinsic(_BitScanForward64) 

Это то же самое с BitScanForward64.

Я использую Visual Studio 11 на Windows 7 (64 бит). CPU: Intel Core i7-2600K

Я не сделал много проектов с C++, прежде чем это я не знаю, почему это происходит. Пожалуйста помоги!

+1

Вы компилируете для ** x64 **? свойства BSF64 и BSR64 ** доступны ** только для целей x64. – Necrolis

+0

Возможный дубликат [BitScanForward64 проблема в Visual Studio 11 Developer Preview] (http://stackoverflow.com/questions/8626891/bitscanforward64-issue-in-visual-studio-11-developer-preview) –

ответ

5

_BitScanForward64 доступен только в сборках x64. Если вы нацеливаете Win32, единственным доступным внутренним является _BitScanForward.

+0

Спасибо, теперь я могу вызовите функцию. :) Хотя, это не сработало, как я думал. Я даю функцию значение 2^х, и она вернет х. Мне нужно использовать быструю функцию bitcan, чтобы увеличить скорость двигателя. – user1066278

 Смежные вопросы

  • Нет связанных вопросов^_^