使用 clang 或 gcc,如何列出目标文件 (.o) 中实例化的模板?

问题描述 投票:0回答:1

我有一个大型程序,它生成的目标文件比我预期的大得多。我怀疑在程序中的某个地方,有人正在使用低效的模板元编程来生成 O(n**2) 模板类型。是否有一个命令行工具可以用来列出目标文件 (.o) 中存在的所有模板类型?

通常我会怀疑

nm
objdump
是处理此类事情的正确工具,但对我来说,传递哪些标志来列出模板类型并不明显。

c++ templates gcc clang
1个回答
0
投票

使用

nm
是实现此目的的一种方法。

-C
标志将提供一个可读的输出,显示模板而不是损坏的名称:

nm -C myfile.o

示例输出:

myfile.o:
0000000000000000 U Box<int>::func(int)
...
© www.soinside.com 2019 - 2024. All rights reserved.