Como criar Biblioteca Dinâmica: Windows/Linux
Boa tarde pessoal!
Seguinte, faço parte na empresa onde trabalho de um projeto em que fiquei responsável por desenvolver uma Bilioteca Dinâmica para windows e Linux.
Esta biblioteca já está pronta, mas pelo fato de ter sido feita na "correria", ficou extremamente desorganizada. Esta desorganização aumenta as chances de ocorrer bugs e dificulta a manutenção da mesma. Então decidi reestruturar a biblioteca inteira, desenvolvendo paralelamente no Windows e no Linux (a primeira versão é só para windows).
Minha dúvida:
- No windows:
Quando criei a DLL. É criado uma função main propria do windows:
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
Debugando o código, vi que a sequencia de execução passa por esta função tanto quando a DLL é carregada quanto ela é descarregada pelo programa usuário.
Como utilizo um objeto que é o meu "controlador de recursos" da DLL, instâncio este objeto dentro desta função.
beleza, esta parte funciona bacana.
- No Linux:
É aqui que esta minha dúvida, quando criei a shared object(SO), não foi criado uma função main.
Criou apenas as funções que serão exportadas pela SO. A minha dúvida é esta, na biblioteca dinâmica do Linux. Há uma função que é chamada quando a biblioteca é carrega/descarregada pelo programa usuário(A função "main" da SO, como tem no Windows)??
Outras informações:
- No ambiente windows: Utilizo Windows 7 e o code::blocks V10.05 para o desenvolvimento.
- No ambiente Linux: Utilizo Ubuntu 12.04 e o Netbeans com plugin de C/C++ para o desenvolvimento.
É isso aí,fico grato por qualquer ajuda e informação.
Abraço!
Alguém para me ajudar nesta dúvida??
Discussão (3)
Carregando comentários...