Я совершенно новичок в написании чего-либо на C. Я пишу вспомогательную DLL (которая будет вызываться из C #), которая выполняет бинарные манипуляции.Я получаю сообщение об ошибке «Идентификатор« BitScanForward64 »не определен».32-битная версия доступна.Я полагаю, что это потому, что я создал Win32 DLL.
Затем меня осенило, что 64-битная версия может быть доступна только для конкретной 64-битной DLL (я предполагаю «Общие» в мастере нового проекта)и что мне может понадобиться отдельный 32-битный и 64-битный DLL.Это тот случай, или я могу иметь одну DLL, которая выполняет встроенные функции BitScanForward и BitScanForward64, и если да, то как мне ее создать?
Вот мой текущий код:
// C Functions.cpp : Defines the exported functions for the DLL application.
#include "stdafx.h"
//#include <intrin.h>
//#include <winnt.h>
int _stdcall LSB_i32(unsigned __int32 x)
{
DWORD result;
BitScanForward(&result, x);
return (int)result;
}
int _stdcall MSB_i32(unsigned __int32 x)
{
DWORD result;
BitScanReverse(&result, x);
return (int)result;
}
int _stdcall LSB_i64(unsigned __int64 x)
{
DWORD result;
BitScanForward64(&result, x);
return (int)result;
}
int _stdcall MSB_i64(unsigned __int64 x)
{
DWORD result;
BitScanReverse64(&result, x);
return (int)result;
}