[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Usage: (make-header-guard name)
This function will create a #ifndef
/#define
sequence for protecting a header from multiple evaluation.
It will also set the Scheme variable header-file
to the name of the file being protected and it will set
header-guard
to the name of the #define
being
used to protect it. It is expected that this will be used
as follows:
[+ (make-header-guard "group_name") +] ... #endif /* [+ (. header-guard) +] */ #include "[+ (. header-file) +]" |
The #define
name is composed as follows:
_GUARD
".
The final #define
name is stored in an SCM symbol named
header-guard
. Consequently, the concluding #endif
for the
file should read something like:
#endif /* [+ (. header-guard) +] */ |
The name of the header file (the current output file) is also stored
in an SCM symbol, header-file
. Therefore, if you are also
generating a C file that uses the previously generated header file,
you can put this into that generated file:
#include "[+ (. header-file) +]" |
Obviously, if you are going to produce more than one header file from a particular template, you will need to be careful how these SCM symbols get handled.
Arguments:
name - header group name
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated by Bruce Korb on August 21, 2015 using texi2html 1.82.