2012-04-13 19 views
2

私は、ビットボード(__int64s)を使用するC++でチェスエンジンを構築しており、BitScanForward64を使用して計算を行う必要があります。私はこのようにそれを含めるBitScanForward64を使用できません

error C3861: '_BitScanForward64': identifier not found

:しかし、私はそれを呼び出すときに、私はこのエラーを取得する

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

それはBitScanForward64と同じです。

私は、Visual Studio 11に、Windows 7(64ビット)を使用しています。 CPU:インテルCore i7-2600K

なぜこれが起こっているので、私は知らない 前に、私はC++で多くのプロジェクトを行っていません。助けてください!

+1

あなたは** x64 **のためにコンパイルしていますか? BSF64とBSR64の組み込み関数は、x64ターゲットでのみ** **利用可能です。 – Necrolis

+0

[Visual Studio 11 Developer PreviewでBitScanForward64の問題が発生する可能性があります](http://stackoverflow.com/questions/8626891/bitscanforward64-issue-in-visual-studio-11-developer-preview) –

答えて

5

_BitScanForward64は、x64ビルドでのみ使用できます。 Win32をターゲットにしている場合、唯一の組み込み関数は_BitScanForwardです。

+0

ありがとうございました関数を呼び出します。 :)しかし、それは私が思ったように動作しませんでした。私は関数に2^xの値を与え、xを返します。私はエンジンのスピードを上げるために、高速ビットキャン関数を使用する必要があります。 – user1066278

関連する問題