У меня возникла проблема: я не могу просмотреть заголовочные файлы/библиотеки, чтобы получить реализацию функций C, таких как mssget, msgsnd, shmat и т. д.
Как открыть эти файлы?
решение1
Если вы имеете в виду sys/msg.h
конкретно заголовочный файл, то он должен быть предоставлен пакетом libc6-dev
разработки.
Сначала убедитесь, что пакет установлен, либо через приложение Software Center, либо через терминал, используя
sudo apt-get install libc6-dev
после чего вы сможете просмотреть заголовочный файл по адресу
/usr/include/i386-linux-gnu/sys/msg.h
(для 32-битных систем) или
/usr/include/x86_64-linux-gnu/sys/msg.h
(для 64-битных систем).
Чтобы увидеть фактическую реализацию библиотечной функции, вам необходимо загрузить соответствующий пакет исходного кода: сначала вам необходимо включить соответствующий репозиторий исходного кода (см.Как включить репозитории исходного кода?если вы не знаете, как это сделать), а затем, например, в каталоге по вашему выбору
apt-get source libc6-dev
загрузит, распакует и исправит исходный tarball в этом каталоге (в этом случае он выберет 'eglibc' в качестве исходного пакета вместо 'libc6-dev'). Однако msgget
и, msgsnd
похоже, являются всего лишь функциями-заглушками — я недостаточно разбираюсь в Linux IPC, чтобы давать вам советы, выходящие за эти рамки.