Re: .so
От: aka50 Россия  
Дата: 26.01.07 23:11
Оценка:
Здравствуйте, kot--, Вы писали:

K>hi!


K>1. можно ли в линуксе задать имена экспортируемых функций через .def ?

По умолчанию экспортируются все символы. Для борьбы с этим даже
существовал патч: http://www.nedprod.com/programs/gccvisibility.html
В 4-ке это встроили ... и теперь ненужные символы можно
спрятать, например целиком класс.

class __attribute__ ((visibility("hidden"))) Foo
{
int foo1();
void foo2();
};



K>2. как в линуксе производить динамическую загрузку .so?


void *handle = dlopen("somelib.so", RTLD_LAZY);
void *function = dlsym(handle, "someFunction");
// Do some stuff with function
if(dlclose(handle) != 0)
    printf("some error");
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.