给定一个函数,让我们说atoi,如果我想使用这个函数,如何找到我应该包含的头文件?我总是对这个问题感到困惑。如果让我把像“atoi”这样的函数视为linux c api,我可以用另一种方式提出我的问题:是linux c api的文档吗?
答案 0 :(得分:12)
Man pages。在命令提示符下键入man atoi
(或者,通常为man <function>
)。它将为您提供使用信息以及要包含哪些标题的列表。
手册页还记录了程序和命令(find,grep,cd等)。有时您可能遇到程序与C函数同名的情况(例如,写入)。在这种情况下,您需要指导人员查看手册的正确部分,第2部分查看系统调用,第3部分查看库函数。您可以通过在“man”和命令名称之间插入节号来完成此操作:man 2 write
。如果您不知道给定的函数是系统调用还是库函数,请尝试两者。
您可以通过输入man man
了解有关手册页的更多信息。
答案 1 :(得分:2)
或者,您可以在系统的/ usr / include目录中搜索您正在查找的函数定义的出现位置。这对于缺少手册页的嵌入式或精简版Linux系统特别有用。
find /usr/include -name "*.h" -print | xargs grep "<function-you-are-looking-for>"
例如,如果你这样做:
find /usr/include -name "*.h" -print | xargs grep atoi
你会得到这样的东西:
/usr/include/stdlib.h:extern int atoi (__const char *__nptr)
结果包含头文件名和接口定义。
答案 2 :(得分:1)
是linux c api的文档吗?
当然可以。该文档以手册页的形式提供。在终端中输入man <function>
并享受。您需要包含哪个头文件通常显示在顶部。
答案 3 :(得分:1)
如果你正在使用ctags和vim编辑器并且你已经设置了ctags来扫描/ usr / include然后ctrl-]当你在你想要找到的函数上时会带你到头文件!
答案 4 :(得分:0)
您还可以使用以下内容
whereis <function name>
它将给出函数的路径名。然后使用vim编辑器打开路径。然后使用“vim”编辑器,您可以看到头文件。
实施例
> whereis atoi
atoi: /usr/share/man/man3/atoi.3.gz
> vim /usr/share/man/man3/atoi.3.gz
----------
----------
.B #include <stdlib.h>