Pergunta

Eu tentei encontrar como criar DLL-s no Linux usando o google, mas ficou muito confusa informações.

É possível escrever bibliotecas de ligação dinâmica no linux? Se não, há outros meios pelos quais eu posso chamar o código em outro módulo de vários programas em execução?

Foi útil?

Solução

Isso porque DLL é um termo do Windows. No Linux, eles são chamados bibliotecas compartilhadas.

http: //www.linux. org / docs / LDP / howto / Programa-Library-HOWTO / shared-libraries.html

Outras dicas

Como Sklivvz disse, o termo que você está depois no linux é compartilhada objeto. Estes são dados a .so extensão de arquivo.

Usando gcc você pode criar um .so usando a opção -shared.

por exemplo.


gcc -shared -o libfoo.so foo.c

Se você nomear seu compartilhada objeto lib * .so você pode compilar contra ele usando a opção -l em seu vinculador. Note que o "lib" é inferida nesta circunstância.

ie.


ld -o a.out -lfoo someobject.o 

Como alternativa, você pode carregar arquivos .so em tempo de execução, assim como você pode com .dlls, usando dlopen () e dlsym ().

É um muito se você está apenas começando, mas em algum momento você vai precisar para se referir a Ulrich Drepper do “ Como escrever libaries compartilhados .”

Eu acho arquivos .so em vez de arquivos DLL, ou seja, objeto compartilhado, não StackOverflow :), é o que você quer.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top