161
правкаИзменения
Dlsym
,Создал статью
== Объявление ==
'''<tt>void * dlsym( DLHANDLE handle, const char * name );</tt>
== Описание ==
Функция [[ElfPack2]], ищет в загруженной динамической библиотеке функцию или глобальную переменную (символ).
Это имя должно быть в списке экспортируемых имён библиотеки.
== Параметры ==
#'''DLHANDLE handle
#:Хендлер на загруженную библиотеку, полученный из функции [[dlopen]]
#'''const char * name
#:Имя функции или глобальной переменной, которую нужно найти в библиотеке
== Результат ==
#'''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]]
'''<tt>void * dlsym( DLHANDLE handle, const char * name );</tt>
== Описание ==
Функция [[ElfPack2]], ищет в загруженной динамической библиотеке функцию или глобальную переменную (символ).
Это имя должно быть в списке экспортируемых имён библиотеки.
== Параметры ==
#'''DLHANDLE handle
#:Хендлер на загруженную библиотеку, полученный из функции [[dlopen]]
#'''const char * name
#:Имя функции или глобальной переменной, которую нужно найти в библиотеке
== Результат ==
#'''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]]