diferença entre libc6-dev e libc6

1

libc6-dev:amd64 package no Debian contém todos os arquivos de cabeçalho comuns em programação C como stdio.h , ctype.h , time.h , etc. Estou correto que libc6:amd64 , que é tanto quanto eu sei exigido por virtualmente qualquer aplicativo escrito em C, contém esses mesmos arquivos de cabeçalho em forma compilada? Ou, resumindo, como libc6-dev:amd64 e libc6:amd64 são diferentes?

    
por Martin 20.07.2017 / 12:59

1 resposta

5

Confira as descrições dos pacotes; para libc6 :

Contains the standard libraries that are used by nearly all programs on the system. This package includes shared versions of the standard C library and the standard math library, as well as many others.

e para libc6-dev :

Contains the symlinks, headers, and object files needed to compile and link programs which use the standard C library.

libc6 fornece a funcionalidade implementada pela biblioteca C, na forma de várias bibliotecas compartilhadas ( libc.so.6 etc.). libc6-dev fornece arquivos extras que são necessários para construir o software usando a biblioteca C; esses arquivos extras são diferentes do conteúdo das bibliotecas compartilhadas.

Outra maneira de pensar sobre isso é que libc6 fornece os arquivos necessários em tempo de execução, para programas que usam a biblioteca C e libc6-dev fornece os arquivos necessários no momento da criação, em cima da própria biblioteca (por isso libc6-dev depende de libc6 - você precisa de ambos para criar software). libc6 contém arquivos usados pelo vinculador dinâmico para executar o software construído com a biblioteca C, libc6-dev contém arquivos usados pelo compilador e pelo vinculador de tempo de construção para construir o software usando a biblioteca C.

A mesma distinção se aplica à maioria dos pacotes de biblioteca; você encontrará um pacote de tempo de execução e um pacote -dev de tempo de compilação.

    
por 20.07.2017 / 13:45

Tags