...
- Only the first eight characters in the file name are guaranteed to be significant.
- The file has only one , nondigit character after the period in the file name.
- The case of the characters in the file name is not guaranteed to be significant.
To guarantee that header file names are unique, all included files should differ (in a case-insensitive manner) in their first eight characters or in their (one-character) file extension.
Note that compliance with this recommendation does not require that short file names are used, only that the file names are unique.
...
The only solution for mitigating ambiguity of a file such as my_libraryOLD.h
is to rename old files with either a prefix (that would fall within the first eight characters) or to add an extension (such as my_library.h.old
).
Exceptions
PRE08-EX1: While C99 requires only requires eight significant characters, most modern systems have long file names, and compilers on such systems can typically differentiate them. Consequently, long file names in headers may be used, provided that all the implementations to which the code is ported can distinguish between these file names.
...