![如何打开 C 库和函数实现?](https://linux22.com/image/977329/%E5%A6%82%E4%BD%95%E6%89%93%E5%BC%80%20C%20%E5%BA%93%E5%92%8C%E5%87%BD%E6%95%B0%E5%AE%9E%E7%8E%B0%EF%BC%9F.png)
我遇到一个问题,我无法浏览头文件/库来获取 mssget、msgsnd、shmat 等 C 函数的实现。
我该如何打开这些文件?
答案1
如果你特指头文件,那么它应该由开发包sys/msg.h
提供libc6-dev
首先确保软件包已安装,可以通过软件中心应用程序或从终端使用
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 了解不够多,无法为您提供更多建议。