Macro multiplataforma para silenciar las variables no utilizadas.

Al portar una gran parte de código C ++ de Visual Studio (2008) a Xcode (4.4+), encuentro líneas como:

UNUSED_ALWAYS(someVar);

laUNUSED_ALWAYS(x) (medianteUNUSED(x)) la macro se expande ax lo que parece silenciar a Visual C ++ bien. Sin embargo, no es suficiente para Clang.

Con Clang, suelo usar el#pragma unused x directiva.

losUNUSED_ALWAYS yUNUSED Las macros se definen de forma artificial.windows.h encabezado que controlo que contiene una serie de utilidades para ayudar a Xcode a compilar cosas de Windows.

¿Hay una manera de definirUNUSED(x) expandirse a#pragma unused x? Intenté esto, que Clang no acepta:

#define UNUSED(x) #pragma unused(x)

También intenté:

#define UNUSED(x) (void)(x)

Lo que parece funcionar. ¿Yo me perdí algo?

Respuestas a la pregunta(3)

Su respuesta a la pregunta