前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【答疑解惑】如何知道要包含哪个头文件

【答疑解惑】如何知道要包含哪个头文件

作者头像
程序员互动联盟
发布2018-03-13 17:09:35
1.1K0
发布2018-03-13 17:09:35
举报

之前遇到一个同学问一个问题,他在c源文件中使用bool变量,然后编译的时候提示bool没有定义。不知道怎么办。其实对于初学者来说,遇到的编译错误最多的就是某某变量或函数没有定义,或者有的时候函数有定义,编译过了但是在链接的时候提示找不到函数符号。这类错误其实都是非常好解决的。下面介绍一种在linux下编程如何更好更快的解决此类问题。

对linux稍微有点了解的同学估计都知道linux下有一个man命令,但是会用的人估计并不多。man分为很多部分:

1 用户命令, 可由任何人启动的。

2 系统调用, 即由内核提供的函数。

3 例程, 即库函数,比如标准C库libc。

4 设备, 即/dev目录下的特殊文件。

5 文件格式描述, 例如/etc/passwd。

6 游戏, 不用解释啦!

7 杂项, 例如宏命令包、惯例等。

8 系统管理员工具, 只能由root启动。

9 其他(Linux特定的), 用来存放内核例行程序的文档。

n 新文档, 可能要移到更适合的领域。

o 老文档, 可能会在一段期限内保留。

l 本地文档, 与本特定系统有关的。

要查属于哪一部分的,就用哪一部分的编号在命令之前。

比如,我现在用到了read函数,但是我不知道read需要保护什么头文件,read的参数都是什么样子的,我们当然可以上网去查read,那如果使用的linux系统,那就有一个非常快的方法,就是在linux的终端下输入命令

man 2 read

就会出现关于read函数的所有描述,包括所需要的头文件,函数原型,函数返回值等等。

再举一个例子,我们用到了log函数,这个函数不在标准c库中,那我怎么知道他需要链接那个库,需要保护什么头文件呢?

同样的,执行命令

man 3 log

就会出现log的所有信息。有环境的同学可以马上验证一下。

这里只是抛砖引玉的目的,更详细的使用,比如安装中文版man,安装更全的man等等可以从网上获取到。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2015-07-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员互动联盟 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档