ID Number: Q11342
4.00
MS-DOS
enduser |
Question:
MASM is using the wrong search path for INCLUDE files when the file
name begins with "/", "\", ".", or a drive letter followed by a colon.
Response:
Microsoft has confirmed this to be a problem in Version 4.00 of
Macro Assembler. The problem is corrected in Version 5.00.
The correct search path for INCLUDE files in MASM is the following:
1. If the file name begins with "/", "\", ".", or a drive letter
followed by a colon, search using only the path as specified.
2. Otherwise use all the /I paths in order, then use the current
directory.
MASM Version 4.00 does not work correctly. The path it uses is the
following:
1. Any INCLUDE file specified with a drive specifier is searched
for on the named drive in the named directory.
2. All other INCLUDE files are searched for in the directories
specified on the command line, from left to right. If a full path name
is specified, the leading "\" is stripped and the remainder is treated
as a partial path name.
3. Any files specified with a full path name are searched for in
the given directory.
4. Otherwise, the current directory is searched.
The problem is that a leading "/", "\", or "." is not respected.
The workaround for INCLUDE file names with a leading "/" or "\" is
to include a drive-specifier as well.
The workaround for INCLUDE file names with a leading "." is to
specify "/I." on the command line before any other "/I" arguments.
Note that if you want to specify the root directory of another
drive, use "/IC:" instead of "/IC:\". The latter is not recognized.
Using a directory to find a file means appending the file name as
written to the directory name (including a terminating slash in the
directory name).