gpt4 book ai didi

c - 在 nm 报告中验证符号更改的简便方法

转载 作者:太空宇宙 更新时间:2023-11-04 02:11:21 25 4
gpt4 key购买 nike

我正在使用 Suse gcc 编译器编译我的库(C 编程),然后生成该库的 nm 报告。我必须将该 nm 报告与以前的版本库进行比较,以检查当前版本库中存在和不存在的符号。

nm libxxx0.1.a > nm_0.1.txt
nm libxxx0.2.a > nm_0.2.txt

现在我只是用一些文本比较工具比较 nm_0.1.txtnm_0.2.txt 文件。除了符号差异之外,我还得到偏移差异。我不担心偏移差异。

是否有任何命令(在 windows 或 suse 中)可用于以简单的方式仅突出显示 nm 报告中的符号差异。

注意:生成的 nm 报告将非常大。手动打开那个文本文件并使用一些工具删除那个 nm 报告的第一列对于那个大的 nm 文件来说并不是一件容易的事。

最佳答案

这是针对 Linux 的。您必须首先准备和排序您的 nm 输出

nm -g libxxx0.1.a | awk '{print $3}' | sort -u >nm_0.1.txt
nm -g libxxx0.2.a | awk '{print $3}' | sort -u >nm_0.2.txt

如果您对所有 符号感兴趣,请省略-g 并使用cut 而不是awk

nm libxxx0.1.a | cut -c20- | sort -u >nm_0.1.txt
nm libxxx0.2.a | cut -c20- | sort -u >nm_0.2.txt

然后你可以用diff显示差异

diff -U0 nm_0.1.txt nm_0.2.txt

通讯

comm -3 nm_0.1.txt nm_0.2.txt

关于c - 在 nm 报告中验证符号更改的简便方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13706127/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com