cod*_*gic 21
您可以使用nm命令列出静态库中的符号.
nm -g -C <libMylib.a>
Run Code Online (Sandbox Code Playgroud)
Joh*_*itb 11
对于ELF二进制文件,您可以使用readelf:
readelf -sW a.out | awk '$4 == "FUNC"' | c++filt
Run Code Online (Sandbox Code Playgroud)
-s:列表符号
-W:不要剪太长的名字
awk命令将过滤掉所有函数,c ++ filt将取消它们.这意味着它将从内部命名方案转换它们,以便以人类可读的形式显示它们.它输出与此类似的名称(取自boost.filesystem lib):
285: 0000bef0 91 FUNC WEAK DEFAULT 11 boost::exception::~exception()
Run Code Online (Sandbox Code Playgroud)
如果没有c ++ filt,名称将显示为 _ZN5boost9exceptionD0Ev
使用这个命令:
objdump -t "你的图书馆"
它会打印出比你想要的更多——不仅仅是函数名,还有整个符号表。检查你得到的符号的各种属性,你将能够从变量和东西中梳理出函数。