September 7th, 2012, 07:44 AM
ignore code when compiling
In a rather large codebase, there is a set of recurring calls to a couple vararg functions (mainly for logging)
The number of parameters to this function is variable
logthis(foo, bar(), somefunction(parameter1,parameter2), somethingelse);
It has all types of variables, function calls, etc.
The code has thousands of these lines
There is now a need for a special version of the compile that will remove a lot of the code, among others is the logging.
Can I somehow #define the "logthis" name into something that'll remove all actual calls to the code. including the actual parameters/expressions to the call.
I can't afford to add #ifdef/#endif around each of the calls because there are too many of them, and because that'll cause some undisired side effects in our code conformance tests.
comes close, that removes the call, but it still causes the compiler to evaluate and validate all the parameters to the logthis function, which doesn't work because in this case, removing the logging headers also removes other members of the class that get used as part of the parameters to logthis()
#define logthis __noop
Ideal would be if I could define logthis into // resulting in all the rest of the line being comments, but that doesn't work. But it's basically something like that which I'm seeking.
Preferably I'd like something to be portable, but I'll take a solution that only works on visual studio as well.
Last edited by OReubens; September 7th, 2012 at 07:53 AM.
Click Here to Expand Forum to Full Width
This is a CodeGuru survey question.