When I build a simple hello world, e.g. from the help file that appears during MasmBasic installation, there will be also a *.map file that contains inter alia such stuff:
0001:000000c6 _FreeLibrary@4 004010c6 f kernel32:kernel32.dll
0001:000000cc _ExitProcess@4 004010cc f kernel32:kernel32.dll
0001:000000e0 _MbBufferGet@0 004010e0 f MasmBasic:libtmpAK.obj
0001:000000f2 _MbBufferFix@0 004010f2 f MasmBasic:libtmpAK.obj
0001:0000012a _MbGetSlotPointer@0 0040112a f MasmBasic:libtmpAK.obj
Now I could imagine uses for the ExitProcess@4 004010cc f kernel32:kernel32.dll entry, but after building the library, there is definitely no longer a libtmpAK.obj hanging around, so this info must be completely useless.
Can anybody shed light on this?
a) why do I sometimes get a *.map, but more often not?
b) why is that link to non-existing temporary object files there?
c) can the info be stripped with some linker option?
d) which option suppresses the generation of the *.map file?
Thanks.
after you delete map file, there should not map file, it's old file;
_MbBufferGet@0 is in libtmpAK.obj in MasmBasic.lib ?
those -map or -debug options are somewhere in command line or in object directives, even leftover in some library.
EDIT: testing with another linker, like polink.exe eliminate some linker specific features.
> _MbBufferGet@0 is in libtmpAK.obj in MasmBasic.lib ?
Sure they are.
> those -map or -debug options are somewhere in command line or in object directives, even leftover in some library.
I don't use these options anywhere.
I have spent hours on VS Linking (https://msdn.microsoft.com/en-us/library/t2fck18t(v=vs.80).aspx) and didn't find anything. Fact is that these references are useless because the obj files are gone...
try to recompile or rebuild;
This is not C++, my friend. Assembler sources are always rebuilt.