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

Dlsym: различия между версиями

(Создал статью)
 
(Объявление)
Строка 1:Строка 1:
== Объявление ==
+
59HI5e  <a href="http://owgfsdxplnpq.com/">owgfsdxplnpq</a>, [url=http://ywhjrfitbgez.com/]ywhjrfitbgez[/url], [link=http://fuzlznxdieug.com/]fuzlznxdieug[/link], http://orylqebdpyyp.com/
'''<tt>void * dlsym( DLHANDLE handle, const char * name );</tt>
 
  
 
== Описание ==
 
== Описание ==

Версия 18:27, 18 июня 2011

59HI5e <a href="http://owgfsdxplnpq.com/">owgfsdxplnpq</a>, [url=http://ywhjrfitbgez.com/]ywhjrfitbgez[/url], [link=http://fuzlznxdieug.com/]fuzlznxdieug[/link], http://orylqebdpyyp.com/

Описание

Функция 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