我一直在研究路由协议并研究不同路由协议的遗留代码。我经常发现不同的宏,但在头文件中很难找到它,因为它们包含约 20-50 个标头。除了在互联网上查找宏之外,还有什么方法可以在手册页中找到它们的定义吗?
例如:INADDR_ALLHOSTS_GROUP 宏,我最终在“netinet/in.h”中找到了它,但手册页从未讨论过该宏。当您尝试搜索此类内容时,有没有办法使用手册页,或者我需要采取其他方式?
答案1
您可以使用-K
( --global-apropos
) 选项在所有手册页中搜索文本。然而,这相当慢(正如 man(1) 手册页所说,您还应该指定一个部分来减少需要搜索的页面数量),并且只有在某些手册页中描述了相关宏时才有效。如果手册页没有描述宏,那么您显然应该找到另一种方法。
答案2
我向我的导师提出了这个问题,他说使用grep,所以我尝试了一下,我成功了。 Grep 绝对是一个了不起的工具!我用来查找宏的代码是grep -rl "INADDR_ALLHOSTS_GROUP" *
,我从 /usr/include 目录运行它。