我正在使用 Visual Studio 的 MASM(称为ML
)为 Wintel-32 构建一个项目。我请求在链接器选项中生成地图文件。我正在为汇编程序指定 /Zf 选项(使所有符号全局化)。然而,并非所有功能都出现在生成的地图文件中。看起来只出现了由其他模块导入的那些。
编辑:有一堆函数只能静态使用(即在同一个源文件中)。它们不会从可执行文件中删除,也不应该被删除。但它们不会出现在 MAP 文件中。我要他们在那里。
dumpbin /symbols
如果我调用目标文件(但只能使用 /Zf),可以看到这些名称。然而,链接器出于某种原因将其从最终可执行文件的映射中剥离。链接器选项 /MAP 和 /MAPINFO:EXPORTS 在那里。我错过了什么?
编辑:和 /OPT:NOREF 也是。