2013-05-15 3 views
1

Я работаю над программой на C (под Linux), которая использует общие библиотеки в качестве плагинов.Сканирование общих включений объекта во время выполнения

Я предоставляю каждому плагину несколько функций из статической библиотеки. Чтобы изменить рабочий процесс моей программы, во время выполнения мне нужно знать, будет ли плагин вызывать определенную функцию, включенную в вышеупомянутую библиотеку.

Что мне нужно, это C эквивалент:

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

Это возможно эксплуатировать <dlfcn.h> библиотеку для того, чтобы достичь этого? Излишне говорить, что я предпочитаю не выполнять oneliner выше в вызове system().

Благодаря

ответ

1

Вы можете попробовать LibELF, которая позволяет манипулировать ELF бинарных файлов (т.е. прочитать разделы). Очень хорошие примеры вы найдете here.

Смежные вопросы