Al leer acerca de la función InterlockedIncrement vi la observación de que la variable pasada debe alinearse en un límite de 32 bits. Normalmente he visto el código que utiliza el InterlockedIncrement así:InterlockedIncrement use
class A
{
public:
A();
void f();
private:
volatile long m_count;
};
A::A() : m_count(0)
{
}
void A::f()
{
::InterlockedIncrement(&m_count);
}
¿Funciona correctamente el código de seguridad en sistemas de varios procesadores o debería tener un poco más de cuidado para esto?