__noop
El intrínseco específico __noop
de Microsoft especifica que se debe omitir una función. La lista de argumentos se analiza, pero no se genera ningún código para los argumentos. El compilador considera los argumentos a los que se hace referencia con fines de advertencia del compilador C4100 y análisis similares. El intrínseco __noop
está diseñado para usarse en funciones de depuración globales que toman un número variable de argumentos.
El compilador convierte el intrínseco __noop
en 0 durante en tiempo de compilación.
Ejemplo
En el siguiente código se muestra cómo puede usar __noop
.
// compiler_intrinsics__noop.cpp
// compile using: cl /EHsc /W4 compiler_intrinsics__noop.cpp
// compile with or without /DDEBUG
#include <stdio.h>
#if DEBUG
#define PRINT printf_s
#else
#define PRINT __noop
#endif
#define IGNORE(x) { __noop(x); }
int main(int argv, char ** argc)
{
IGNORE(argv);
IGNORE(argc);
PRINT("\nDEBUG is defined\n");
}