Como eu abro as implementações de bibliotecas e funções C?

1

Estou tendo um problema que não posso procurar os arquivos de cabeçalho / bibliotecas para obter a implementação das funções C como mssget, msgsnd, shmat etc.

Como devo abrir esses arquivos?

    
por Nour Malkawi 05.12.2014 / 22:48

1 resposta

2

Se você estiver se referindo especificamente ao arquivo de cabeçalho sys/msg.h , ele deverá ser fornecido pelo pacote de desenvolvimento libc6-dev

Primeiro, verifique se o pacote está instalado, seja através do aplicativo do Centro de Software ou de um terminal usando

sudo apt-get install libc6-dev

após o qual você poderá navegar no arquivo de cabeçalho em

/usr/include/i386-linux-gnu/sys/msg.h

(para sistemas de 32 bits) ou

/usr/include/x86_64-linux-gnu/sys/msg.h

(para sistemas de 64 bits).

Para ver a implementação real de uma função de biblioteca, você precisará baixar o pacote de código-fonte correspondente: primeiro, você precisará ativar o repositório de origem relevante (veja Como eu habilito os repositórios do código fonte? se você não sabe como fazer isso) e então, por exemplo, em um diretório de sua escolha

apt-get source libc6-dev

fará o download, descompactará e corrigirá o tarball de origem nesse diretório (nesse caso, ele selecionará 'eglibc' como pacote fonte em vez de 'libc6-dev'). No entanto, msgget e msgsnd parecem ser apenas funções stub - não sei o suficiente sobre o Linux IPC para aconselhá-lo além disso.

    
por steeldriver 06.12.2014 / 00:14