2013-03-09 101 views
0

我想在系統調用/接口級別上了解關於Linux的更多信息。從限制開始,我在APUE中讀取了諸如_POSIX_OPEN_MAX之類的限制符號。谷歌搜索後,我看到這些符號在圖書館。如何找到哪個庫具有_POSIX_OPEN_MAX符號?我確實找到了具有限制的頭文件,但我想了解如何在我的Linux系統上使用nm?編譯的GNU庫中找到這些文件。有很多圖書館我不知道從哪裏開始繪製這些符號的位置。GNU庫 - 哪個庫具有_POSIX_OPEN_MAX符號?

回答

1

_POSIX_OPEN_MAX是一個宏,在編譯時被替換。在大多數情況下,關於宏的所有信息都在預處理後被丟棄,所以沒有符號。

可能使gcc使用-gdwarf-2-g3標誌包括關於宏的信息,但它不太可能構建的系統庫時,這些選項中使用。所以,簡而言之,你很可能不會在其中找到它。

+0

這對我也有意義。但是,當我使用它的AWK程序在pathconf.sym和sysconf.sym中檢測它們時,我的APUE書稱這些符號。 (在限制部分2.5)。 – dman 2013-03-09 07:47:40