Открыть главное меню


Объявление

void * dlsym( DLHANDLE handle, const char * name );

Описание

Функция ElfPack2, ищет в загруженной динамической библиотеке функцию или глобальную переменную (символ).

Это имя должно быть в списке экспортируемых имён библиотеки.

Параметры

  1. DLHANDLE handle
    Хендлер на загруженную библиотеку, полученный из функции dlopen
  2. const char * name
    Имя функции или глобальной переменной, которую нужно найти в библиотеке

Результат

  1. void*
    Указатель на найденный символ, либо NULL в случае ошибки.
    Код ошибки можно узнать с помощью функции dlerror.

Пример

DLHANDLE	solib;
UINT32	*sovalue;
// Загружаем библиотеку из папки с эльфом
solib = dlopen( L"library.so", 0 );
if(solib == 0)
{	cprintf("library.so not found, error = %d\n", dlerror());	return;
}
// Ищем символ
sovalue = dlsym(solib, "gValue");
if(sovalue == NULL)
{	cprintf("gValue not found in library.so, error = %d\n", dlerror());	return;
}
cprintf("gValue = %d\n", *sovalue);

См. также

dlopen

dlclose

dlerror