我遇到一個問題,無法瀏覽頭檔/函式庫來取得 C 函數(如 mssget、msgsnd、shmat 等)的實作。
我應該如何開啟這些文件?
答案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 的了解不夠,無法為您提供除此之外的建議。