我有一个大型程序,它生成的目标文件比我预期的大得多。我怀疑在程序中的某个地方,有人正在使用低效的模板元编程来生成 O(n**2) 模板类型。是否有一个命令行工具可以用来列出目标文件 (.o) 中存在的所有模板类型?
通常我会怀疑
nm
或 objdump
是处理此类事情的正确工具,但对我来说,传递哪些标志来列出模板类型并不明显。
使用
nm
是实现此目的的一种方法。
-C
标志将提供一个可读的输出,显示模板而不是损坏的名称:
nm -C myfile.o
示例输出:
myfile.o:
0000000000000000 U Box<int>::func(int)
...