__noop
Vnitřní funkce specifická pro __noop
Microsoft určuje, že by měla být funkce ignorována. Seznam argumentů se analyzuje, ale pro argumenty se negeneruje žádný kód. Kompilátor považuje argumenty za odkazované pro účely upozornění kompilátoru C4100 a podobnou analýzu. Vnitřní __noop
objekt je určený pro použití v globálních ladicích funkcích, které přebírají proměnný počet argumentů.
Kompilátor převede vnitřní na __noop
hodnotu 0 v době kompilace.
Příklad
Následující kód ukazuje, jak můžete použít __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");
}