[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
While the file is being edited (either at first or after `get -e'):-
#ifndef CONFIG_NO_SCCS_IDS static const char sccs_id[] = "%W%"; #endif |
When the file is checked out for compiling (with get
):-
#ifndef CONFIG_NO_SCCS_IDS static const char sccs_id[] = "@(#)foo.c 1.3"; #endif |
After compiling:-
$ what foo foo: foo.c 1.3 |
If the executable is linked from several source files, you will get a line of output for each string containing the identification string `@(#)'. This is useful for finding out exactly what code went into an executable. This technique also works on object files, archive libraries, text files, and in fact any sorts of files at all.
Unlike the strings
command, there is no way to make what
operate on standard input. The data would need to be written to a file
first.
The rationale for the preprocessor construct CONFIG_NO_SCCS_IDS
is that sometimes compilers or lint-pickers complain that the variable
sccs_id is unused, and defining CONFIG_NO_SCCS_IDS
will
remove these IDs and thus silence the warnings.