Conditional inclusion
    Peter da Silva 
    peter at ficc.uu.net
       
    Wed Oct 25 03:27:17 AEST 1989
    
    
  
In article <14240 at well.UUCP> nagle at well.UUCP (John Nagle) writes:
<	#ifndef XXX
<	#define XXX
<	...content...
<	#endif
<This works, but on the second inclusion, the file still has to be read and
<parsed, at least by the level of processing that reads "#" statements.
<With widespread use of this technique within library files, some files may
<be read a large number of times, mostly to be ignored.  This slows compilation.
In practice, you can combine this with a second technique:
	#ifndef FROB_H
	#define FROB_H
	#ifndef SYS_FOO_H
	#include <sys/foo.h>
	#endif
	#ifndef SYS_BAR_H
	#include <sys/bar.h>
	#endif
	...
	#endif
This completely resolves the efficiency question.
-- 
Peter da Silva, *NIX support guy @ Ferranti International Controls Corporation.
Biz: peter at ficc.uu.net, +1 713 274 5180. Fun: peter at sugar.hackercorp.com. `-_-'
"That particular mistake will not be repeated.  There are plenty of        'U`
 mistakes left that have not yet been used." -- Andy Tanenbaum (ast at cs.vu.nl)
    
    
More information about the Comp.std.c
mailing list