Открытие файла .a
с использованием dlopen
не работает , а не (протестировано в Ubuntu 10.04).В следующем примере программы:
#include <dlfcn.h>
#include <stdio.h>
int main()
{
void *lib_handle = dlopen("/usr/lib/libz.a",RTLD_LAZY);
printf("dlopen error=%s\n",dlerror());
printf("lib_handle=%p\n",lib_handle);
}
Я получаю:
dlopen error=/usr/lib/libz.a: invalid ELF header
lib_handle=(nil)
, а вместо использования /usr/lib/libz.so
я получаю:
dlopen error=(null)
lib_handle=0x19d6030
, так жекод работает для общего объекта.