Articles of bibliotecas compartilhadas

Executando uma biblioteca compartilhada no Unix

Algumas bibliotecas compartilhadas Unix fornecem uma saída quando chamadas a partir da linha de comando, como se fossem executáveis. Por exemplo: $ /lib/libc.so.6 GNU C Library stable release version 2.13, by Roland McGrath et al. Copyright (C) 2011 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO […]

Ferramenta de análise estática para detectar interrupções de ABI em C ++

Não é muito difícil quebrar compatibilidade com versões anteriores binárias de uma biblioteca DSO / compartilhada com uma interface C ++. Dito isso, existe uma ferramenta de análise estática, que pode ajudar a detectar essas quebras de ABI, se forem dados dois conjuntos diferentes de arquivos de header: os de um estado anterior do DSO […]

CMake: como criar uma única biblioteca compartilhada de todas as bibliotecas estáticas de subprojetos?

Eu tenho o seguinte layout: top_project + subproject1 + subproject2 Cada um dos subproject1 e subproject2 cria uma biblioteca estática. Gostaria de vincular essas bibliotecas estáticas em uma única biblioteca compartilhada no nível top_project . A informação que recolhi até agora é: -fPic usando -fPic (necessário em tudo, menos no Windows) para criar um código […]

Ramo TFS 2010 em projetos de equipe – melhores práticas

Estou tendo problemas para entender como configurar o TFS de acordo com as práticas recomendadas fornecidas pela equipe do TFS Ranger. A questão é tal: Minha empresa tem vários produtos que fazem uso de uma base de código comum compartilhada. > $/Core > -> /Main/Source (Parent Branch) > > $/Product1 > -> /Main/Source > -> […]

Empacote bibliotecas compartilhadas no elf

Existe um utilitário que pode levar TODOS os SOs que um Elf precisa transformá-los em estáticos e depois converter o Elf para ser livre?

Construa o arquivo .so do arquivo .c usando a linha de comando do gcc

Eu estou tentando criar um projeto de hello world para bibliotecas dinâmicas do Linux (arquivos .so). Então eu tenho um arquivo hello.c: #include void hello() { printf(“Hello world!\n”); } Como faço para criar um arquivo .so que exporte hello() , usando o gcc da linha de comando?

Quais são as boas práticas em relação às bibliotecas compartilhadas no Linux?

Recentemente li muito sobre bibliotecas compartilhadas no Linux e aqui está o que aprendi: Uma biblioteca compartilhada deve incorporar um soname incluindo seu número de versão principal. Algo como: libfoo.so.1 Seu nome real também deve include um número de versão secundária. Algo como: libfoo.so.1.0 Quando o arquivo da biblioteca é copiado, digamos /usr/local/lib , se […]

Elegantemente chama C ++ de C

Desenvolvemos alguns projetos na planície C (C99). Mas, temos uma biblioteca como códigos fonte (biblioteca de matemática) em C++ . Precisamos desta biblioteca, então gostaria de perguntar qual é a maneira mais elegante de integrar esses códigos-fonte? A relação entre os tamanhos de C e C++ é de 20:1 portanto, mudar para o C++ não […]

Por que estou recebendo um erro de “referência indefinida” do gcc tentando criar objects compartilhados?

Por que estou recebendo um erro de “referência indefinida” usando o gcc? Eu estou tentando criar um object compartilhado (.so) que exporte uma function, “external ()”. Eu então tentei ligar-me ao .so mas obter “referência indefinida ‘external’”. O que estou fazendo de errado aqui? Arquivo: external.c int external() { return 5; } Arquivo: program.c int […]

Quais são os arquivos .a e .so?

Atualmente estou tentando portar um aplicativo C para o AIX e estou ficando confuso. Quais são os arquivos .a e .so e como eles são usados ​​ao criar / executar um aplicativo?