DLL-S usando C ++ no Linux
-
02-07-2019 - |
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?
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 .dll
s, 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.