有没有办法在地图文件中获取函数的绝对路径?地图文件支持以下格式
0001:000016a0 func 00000001400026a0 f lib:func.o
有没有办法获得“func”的绝对路径
答案 0 :(得分:0)
根据您的具体情况,这可能没用,但是某些链接器不支持在不同目录中具有多个具有相同名称的目标文件。因此,如果您给他们some_directory / func.o和some_other_directory / func.o,则只会链接其中一个。我知道CodeWarrior会这样做。
为了避免这个问题,我确保所有目标文件都有唯一的名称。我使用的约定是包含模块名称的缩写,例如func_module.o。使用该约定,可以轻松识别目标文件。或者,如果您需要以编程方式执行此操作,则任何文件搜索技术都足够了。
某些版本的Visual Studio将所有目标文件放在一个目录中,而不管.c和/或.cpp文件的组织如何,并且会自动附加数字后缀以避免冲突。确定哪个目标文件转到哪个.c文件需要读取项目文件。