我正在将使用Visual Studio 2012编写的代码移植到Visual Studio 2015上进行编译。该代码在Windows 2012上可以成功构建。
我遇到了一些调用InterlockedIncrement64的代码问题。对于x64目标,它可以成功构建,但是当目标为Win32且调用代码为托管代码(即使用/clr编译)时,则会失败,出现以下错误:
error C3861: 'InterlockedIncrement64': identifier not found
查看winnt.h文件,似乎在目标为Win32且_MANAGED被定义时,InterlockedIncrement64未定义。
我可以重新排列代码,使得托管代码不会调用InterlockedIncrement64,但我仍然想知道这种行为变化是由Visual Studio 2015引起的原因。
我遇到了一些调用InterlockedIncrement64的代码问题。对于x64目标,它可以成功构建,但是当目标为Win32且调用代码为托管代码(即使用/clr编译)时,则会失败,出现以下错误:
error C3861: 'InterlockedIncrement64': identifier not found
查看winnt.h文件,似乎在目标为Win32且_MANAGED被定义时,InterlockedIncrement64未定义。
我可以重新排列代码,使得托管代码不会调用InterlockedIncrement64,但我仍然想知道这种行为变化是由Visual Studio 2015引起的原因。
System::Threading::Interlocked::Increment(Int64)
吗? - Christian.K