Casa > C > Como Abrir E Ler Arquivos Executáveis A Partir De Um Arquivo .So No Linux

Como abrir e ler arquivos executáveis a partir de um arquivo .so no Linux

P>Posto que esta é uma maneira mal redigida de perguntar como usar o código executável contido em uma biblioteca de objetos compartilhados (.so sufixo nome de arquivo).

Existem duas maneiras, que equivalem à mesma coisa nos níveis mais baixos. O carregador de links carrega o arquivo na memória na inicialização de um executável que está vinculado à biblioteca especificada em tempo de execução. Essa é a forma normal, e de longe a mais comum de acessar o código contido. Naturalmente, isto assume que a biblioteca correspondente é especificada para o linker e que existem chamadas para funções/subroutines que são compiladas no código objeto principal do executável.

A outra forma é para o código utilizar a API dlopen() que é parte da biblioteca C padrão. Isto permite que o código em tempo de execução abra uma biblioteca de objetos compartilhada, e faça bind para o código usando símbolos nomeados que estão contidos na biblioteca. Há muitos detalhes sobre esse método para descrever aqui, mas você pode encontrar tutoriais sobre os métodos muito facilmente. Esta é uma maneira de implementar 'plug-ins' que permitem o carregamento dinâmico de pedaços de funcionalidade que são usados para estender ou fornecer algumas características específicas de um corpo maior de código.

De Rudy

Porque é que o Nokia 6 é chamado o primeiro telemóvel Android da Nokia? :: Como abrir um FORTRAN no meu PC