簡體   English   中英

在使用dlopen()加載共享對象之前,如何確定cxxabi?

[英]How may I determine the cxxabi before loading a shared object with dlopen()?

我想確定在調用dlopen()之前正在加載兼容的二進制文件。 我想在加載庫之前確定cxxabi級別。

您可以在打開二進制文件之前對其進行掃描。 我不確定如何在程序中執行此操作,盡管您可以閱讀readelf的源以獲取提示。

使用readelf -d -s -W /usr/lib/libstdc++.so.6 | c++filt | less readelf -d -s -W /usr/lib/libstdc++.so.6 | c++filt | less 在Linux系統上readelf -d -s -W /usr/lib/libstdc++.so.6 | c++filt | less ,我看到一些標記如下的符號: __gnu_cxx::__verbose_terminate_handler()@@CXXABI_1.3

但是,我可能只是嘗試dlopen() ,如果它返回NULL,請使用dlerror()報告錯誤,然后讓用戶找出來。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM