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

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

(http://www.inthesunnyspot.net/#22456 cialis - buy cialis)
 
(не показаны 32 промежуточные версии 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>
  
http://topsailnet.com/#39145 buy ambien canada - buy ambien online no prescription http://www.americanindependentwriters.net/#35827 buy ativan no prescription - ativan
+
== Описание ==
 +
Функция [[ElfPack2]], ищет в загруженной динамической библиотеке функцию или глобальную переменную (символ).
  
http://lifeofpis.com/#75709 lamisil effect - buy lamisil http://www.corasyndicate.com/#59342 buy phentermine diet pills - buy phentermine no prescription
+
Это имя должно быть в списке экспортируемых имён библиотеки.
  
http://donteatthatyet.com/#70608 buy valium without prescription - cheap valium
+
== Параметры ==
 +
#'''DLHANDLE handle
 +
#:Хендлер на загруженную библиотеку, полученный из функции [[dlopen]]
 +
#'''const char * name
 +
#:Имя функции или глобальной переменной, которую нужно найти в библиотеке
  
http://www.inthesunnyspot.net/#22456 cialis - buy cialis
+
== Результат ==
 +
#'''void*
 +
#:Указатель на найденный символ, либо NULL в случае ошибки.
 +
#:Код ошибки можно узнать с помощью функции [[dlerror]].
 +
 
 +
== Пример ==
 +
<pre>
 +
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);
 +
</pre>
 +
 
 +
== См. также ==
 +
[[dlopen]]
 +
 
 +
[[dlclose]]
 +
 
 +
[[dlerror]]
 +
 
 +
 
 +
[[Категория:Функции 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