迅维网

查看: 969|回复: 11
打印 上一主题 下一主题
[求助中]

C++的头文件在电脑硬盘的什么地方啊?

[复制链接]
跳转到指定楼层
1#
发表于 2018-5-13 22:23:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式 来自: LAN 来自 LAN

马上注册,获取阅读精华内容及下载权限

您需要 登录 才可以下载或查看,没有帐号?注册

x
C++的头文件在电脑硬盘的什么地方啊?

2#
发表于 2018-5-13 22:23:21 | 只看该作者 来自: LAN 来自 LAN
在这个机器上,C++ 的标准库头文件在 /usr/include/c++/4.9。

回复 支持 反对

使用道具 举报

3#
发表于 2018-5-13 22:23:21 | 只看该作者 来自: LAN 来自 LAN
whereis

Linux下which、whereis、locate、find 命令的区别-guozhaojuan-ChinaUnix博客

回复 支持 反对

使用道具 举报

4#
发表于 2018-5-13 22:23:21 | 只看该作者 来自: LAN 来自 LAN
sudo updatedb
locate vector | grep /vector$

回复 支持 反对

使用道具 举报

5#
发表于 2018-5-13 22:23:21 | 只看该作者 来自: LAN 来自 LAN
/usr/include/c++/
Linux 中如何快速查看 C 库函数的头文件以及相应的函数信息? - 诒条狗的回答

回复 支持 反对

使用道具 举报

6#
发表于 2018-5-13 22:23:21 | 只看该作者 来自: LAN 来自 LAN
标准库,特别是C++的标准库,通常写得一锅粥。更何况有很多代码并不是头文件实现的。你应当先看看数据结构,掌握一些比较简单干净的代码阅读能力,有了一些心理准备再看真实世界的残酷项目。

Linux的头文件大都在/usr/include里面。C++标准库在这个目录的c++/VERSION_NUMBER里面。你自己安装的库,有可能在/usr/local/include里面,也可能在任何别的地方。

回复 支持 反对

使用道具 举报

7#
发表于 2018-5-13 22:23:21 | 只看该作者 来自: LAN 来自 LAN
在Ubuntu下,可以用locate搜索某个具体的库名称从而知道路径
但是具体实现的源码并不在头文件里面,头文件里面只有函数的声明和一些宏定义、环境判断

C语言倒是有 一本很旧的书提到标准库的实现 —— 《C标准库》,我这里只有扫描版PDF

其中_Printf 又另外给出(我就不一 一传图了)

又去libgen搜索了一下,该作者还有一本
<The draft Standard C++ library>: Library Genesis: P J Plauger

回复 支持 反对

使用道具 举报

8#
发表于 2018-5-13 22:23:21 | 只看该作者 来自: LAN 来自 LAN
实名反对大部分答案,大家要审题。

我想和题主说的是,你的想法特别好,通过看头文件代码来理解原理。我以前也有类似想法,想看看printf到底是怎么实现的。但是!我从来就没找到过printf的定义,我只能找到声明(在cstdio里面)。而printf根本就不是定义在头文件或者是某个源文件里面的,它是封装在libc.so.X这个动态链接库里面的,所以如果你想理解printf你就需要反汇编那个libc.so.X然后读汇编语言。而且printf这个函数是平台相关的,每个系统下面的实现都不一样。

即使有一些代码,比如STL,由于模板缘故必须写成源代码形式,但是,它们的实现不是普通人能看懂的!所以我强烈建议题主放弃这个念头!

回复 支持 反对

使用道具 举报

9#
发表于 2018-5-13 22:23:21 | 只看该作者 来自: LAN 来自 LAN
我说一个小技巧,用来查找你想要的文件的位置
    如果你知道文件里的一个关键词,比如 struct,那么可以用 grep 命令查找该关键词所在的文件
该命令在系统根目录 (/) 下查找包含关键词 struct 的文件,并将该关键词用别的颜色标出。
比如在我的电脑 (OSX) 上的输出是



2. 如果你已经知道文件名,比如 iostream,那么可以用 find 命令查找该文件所在的目录
该命令在系统目录下,查找名为 iostream 的文件,输出如下

回复 支持 反对

使用道具 举报

10#
发表于 2018-5-13 22:23:21 | 只看该作者 来自: LAN 来自 LAN
头文件里大部分只有声明。

回复 支持 反对

使用道具 举报

11#
发表于 2018-5-13 22:23:21 | 只看该作者 来自: LAN 来自 LAN
Ubuntu可以用whereis,不过呢你不会得到你要的答案
上网搜文档吧

回复 支持 反对

使用道具 举报

12#
发表于 2018-5-13 22:23:21 | 只看该作者 来自: LAN 来自 LAN
我说一个其他的思路
但是这样的方法 没有几位菊苣的好。同时有点脱了裤子放屁

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表
附近
店铺
微信扫码查看附近店铺
维修
报价
扫码查看手机版报价
信号元
件查询
点位图


芯片搜索

快速回复