2013-05-15 23 views
1

我正在研究一個依賴共享庫作爲插件的C程序(在Linux下)。在運行時掃描共享對象內含物

我爲每個插件提供了來自我的一個靜態庫的幾個函數。爲了改變我的程序的工作流程,我需要在運行時知道插件是否要調用上述庫中包含的某個函數。

我需要的是C等價的:

readelf -a ${PLUGIN_NAME} | grep ${FUNCTION_NAME} 

那是有可能利用該<dlfcn.h>庫,以實現這一目標?不用說,我更喜歡在system()的調用中不執行上面的oneliner。

感謝

回答

1

你可以嘗試LibELF,讓您操作的ELF可執行文件(即讀部分)。非常好的例子,你可以找到here