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

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

(Описание)
 
(не показано 36 промежуточных версий 5 участников)
Строка 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/
+
<metadesc>Функция ElfPack2, ищет в загруженной динамической библиотеке функцию или глобальную переменную (символ).</metadesc>
  
1hRtJF  <a href="http://tprejvtilorg.com/">tprejvtilorg</a>, [url=http://pbdnvewvxdto.com/]pbdnvewvxdto[/url], [link=http://ljhidunzchcv.com/]ljhidunzchcv[/link], http://qntlewdnfvzi.com/
+
== Объявление ==
 +
'''<tt>void * dlsym( DLHANDLE handle, const char * name );</tt>
 +
 
 +
== Описание ==
 +
Функция [[ElfPack2]], ищет в загруженной динамической библиотеке функцию или глобальную переменную (символ).
 +
 
 +
Это имя должно быть в списке экспортируемых имён библиотеки.
  
 
== Параметры ==
 
== Параметры ==

Текущая версия на 04:52, 8 апреля 2019


Объявление

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