__noop
L'intrinseco specifico di __noop
Microsoft specifica che una funzione deve essere ignorata. L'elenco di argomenti viene analizzato, ma non viene generato alcun codice per gli argomenti. Il compilatore considera gli argomenti a cui viene fatto riferimento ai fini dell'avviso del compilatore C4100 e di un'analisi simile. L'oggetto __noop
intrinseco è destinato all'uso nelle funzioni di debug globali che accettano un numero variabile di argomenti.
Il compilatore converte l'intrinseco __noop
in 0 in fase di compilazione.
Esempio
Nel codice seguente viene illustrato come usare __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");
}