我创建了一个脚本来删除许多c ++库中的无用代码(如ifdef,comments等)。
现在,我想比较原始的lib和“已处理的”lib来检查我的脚本是否做得很好。
我找到的唯一解决方案是比较导出的符号。
我想知道你是否有任何其他想法来检查完整性?
答案 0 :(得分:1)
首先:单元测试是为此目的而设计的。
你可能会从
获得一些里程-O0
)且没有调试信息(或之后是strip
)objdump
-dCS
并比较拆卸。准备满足一些/许多虚假错误(strip
步骤是为了防止源行号信息的不必要的差异)。特别是你必须
但是如果转换真的会导致未经修改的代码,那么你可以使用这种技术和一点点工作以1:1验证它。
答案 1 :(得分:0)
基于断言的单元测试会对你有所帮助。有一些测试用例,针对原始库运行它们,然后在删除代码的情况下运行。