Avoiding Double Header Includes

Tom Browder tom.browder@gmail.com
Tue Sep 7 22:04:00 GMT 2010

The cpp manual states:

CPP optimizes even further.  It remembers when a header file has a
wrapper `#ifndef'.  If a subsequent `#include' specifies that header,
and the macro in the `#ifndef' is still defined, it does not bother to
rescan the file at all.

Does that mean (1) the file is reopened but not scanned,  or (2) does
it mean the file is not even opened?  It seems that (1) is probably
the correct answer, but I'm looking for confirmation.

It makes a slight difference efficiency-wise, and there is a cpp
"#pragma once" that will definitely avoid reopening the header after
the first time it's read.



Thomas M. Browder, Jr.
Niceville, Florida

More information about the Gcc-help mailing list