Geoff Chappell - Software Analyst
This option has no arguments. It is -FAT only.
This option is not recognised on the CL command line, but can be passed to C1XX through the CL /d1 option, giving FAT as its argument.
With this option enabled, C1XX truncates file names and extensions to 8 and 3 characters respectively when opening source files (and include files). Note however that truncation is not performed when testing for a file’s existence or when citing a file in error messages and other such output.
Whatever merit this option may have had once upon a time, it is plausibly useless in practice and is perhaps retained in C1XX only by oversight (and particularly by having been eliminated only incompletely).
Prepare two simple include files, one named ERRORMESSAGES.H containing the line
#define __ERRORMESSAGES_INCLUDED__
and the other with the truncated name ERRORMES.H containing a similar line
#define __ERRORMES_INCLUDED__
The intention is that each include file provides a means to test whether it has been included. Prepare also a source file with a #include that refers to the long name ERRORMESSAGES.H and with code to report which file actually got included:
#include "errormessages.h" #ifdef __ERRORMESSAGES_INCLUDED__ #pragma message ("Actually included: errormessages.h") #endif #ifdef __ERRORMES_INCLUDED__ #pragma message ("Actually included: errormes.h") #endif
Compilation with /showIncludes produces
Note: including file: g:\temp\errormessages.h Actually included: errormessages.h
in which the first line is from the compiler, at the direction of the /showIncludes option, and the second confirms that it was ERRORMESSAGES.H, with the long name, that actually got included. The existence of the other file, ERRORMES.H, is irrelevant.
Recompile with /d1FAT added to the options, and the output changes:
Note: including file: g:\temp\errormessages.h Actually included: errormes.h
Whatever file the compiler may say it was including, the file it actually included was the one with the short name. Note however that both files must exist.