[英]How to call methods of an object that is created by loading shared object run time using dlopen
[英]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.