0
將32位和64位架構通用的C++ InterlockedIncrement功能的最佳方法是什麼? (有分開的功能)針對32/64位的架構通用InterlockedIncrement
有沒有比使用#if _W64
預處理器命令更好的方法?
將32位和64位架構通用的C++ InterlockedIncrement功能的最佳方法是什麼? (有分開的功能)針對32/64位的架構通用InterlockedIncrement
有沒有比使用#if _W64
預處理器命令更好的方法?
最簡單的解決方案,因爲您使用C++:
inline LONGLONG __cdecl InterlockedIncrement(LONGLONG volatile *Addend)
{
return InterlockedIncrement64(Addend);
);
現在可以無條件呼叫InterlockedIncrement
在32位或64位的變量,在32個和64位的基礎之上。
我可以爲此解釋嗎? – Reflection
您可以使用C++ 11原子類型。 –
你應該問的問題是爲什麼你的32位和64位版本使用不同的整數類型。也許你可以顯示你想要操作的變量的聲明。 –
您可以使用C預處理器粘貼操作符構建一個解析您的系統的正確名稱的宏。 – RichardPlunkett