C · Intermediário · Português · Técnico
biblioteca compartilhada
Arquivo de código compilado (.so, .dylib ou .dll) carregado em tempo de execução e usado por vários programas, ao contrário da biblioteca estática (.a), copiada para dentro do executável.
Onde usar
Aparece em erros como cannot open shared object file e em decisões de empacotamento. Atualizar a biblioteca corrige todos os programas, mas ela precisa estar instalada no destino.
Em código
gcc -fPIC -shared -o libutil.so util.c
gcc -o prog main.c -L. -lutil
LD_LIBRARY_PATH=. ./progExemplos
O programa não abre porque a biblioteca compartilhada não está no caminho.
Gera uma biblioteca compartilhada com -fPIC e -shared.
Cuidado
Esquecer o -fPIC ao gerar a .so ou não apontar o carregador para a pasta dela via rpath ou LD_LIBRARY_PATH.
Sinônimos
biblioteca dinâmica, shared library
Antônimos
biblioteca estática