您可以在打开二进制文件之前扫描二进制文件使用的符号列表。我不确定如何在程序中执行此操作,尽管您可以阅读源代码以readelf
获取提示。
在 Linux 系统上使用readelf -d -s -W /usr/lib/libstdc++.so.6 | c++filt | less
,我看到一些标记如下的符号:__gnu_cxx::__verbose_terminate_handler()@@CXXABI_1.3
但是,我可能会尝试dlopen()
,如果它返回 NULL,dlerror()
则用于报告错误,然后让用户弄清楚。