我想在系统调用/接口级别上了解有关Linux的更多信息。从限制开始,我在APUE中读到诸如_POSIX_OPEN_MAX之类的限制是符号。谷歌搜索后,我读了这些符号在库中。如何找到哪个库具有_POSIX_OPEN_MAX符号?我确实找到了带有限制的头文件,但我想了解如何在Linux系统上编译的GNU库中找到它们(使用nm?)。有这么多的图书馆,我不知道从哪里开始绘制这些符号的位置。
答案 0 :(得分:1)
_POSIX_OPEN_MAX
是一个宏,在编译时被替换。在大多数情况下,有关宏的所有信息都会在预处理后被丢弃,因此没有符号。
可以通过gcc
和-gdwarf-2
标记使-g3
包含有关宏的信息,但在构建时不太可能使用这些选项你的系统库。所以,简而言之,你很可能不会在任何一个中找到它。