【发布时间】:2016-05-15 04:13:10
【问题描述】:
我有 2 个目标文件,它们应该是相似的,因为它们来自同一代码库的 2 个不同编译时间。我想比较他们的 nm 输出。但是我不能,因为有很多名字修饰。由于名称修改结果似乎不同,但实际上并非如此。我尝试了以下步骤来帮助我比较
1) took last word using command
sed '/ /s/.* //' nmfile1 >nmfile1_lastword
2) removed _Z.. starting word with nothing
sed 's/^_Z...//' nmfile1_lastword > nmfile1_lastword_removed_z
3) sorted the same
sort nmfile1_lastword_removed_z > nmfile1_lastword_removed_z_sorted
我也为第二个 nmFile2 做了上述操作。
但是,开始时仍然有很多名称修改,我无法删除,这让我认为没有简单的方法来比较 nm 输出。请注意,我只关心起始名称的修改,因为我可以在 gvim -d 中看到结果,并且我可以手动识别差异。如果有一些直接的工具那就最好了。
请注意,我尝试使用带有选项 -C 的 nm 来显示没有 name Mangling 但它仍然显示很多 name mangling 。
【问题讨论】: