 <p>This won't work unless you use implementation-specific/platform-specific stuff to force the correct calling convention. For some calling conventions the called function is responsible for cleaning up the stack, so they must know what's been pushed on.</p> <p>I'd go for the check for NULL then call - I can't imagine it would have any impact on performance. </p> <p>Computers can check for NULL about as fast as anything they do.</p>