迅维网

标题: C++的头文件在电脑硬盘的什么地方啊? [打印本页]

作者: cy4080    时间: 2018-5-13 22:23
标题: C++的头文件在电脑硬盘的什么地方啊?
C++的头文件在电脑硬盘的什么地方啊?
作者: dzlqsq    时间: 2018-5-13 22:23
在这个机器上,C++ 的标准库头文件在 /usr/include/c++/4.9。
作者: 传奇私服cdegeq    时间: 2018-5-13 22:23
whereis

Linux下which、whereis、locate、find 命令的区别-guozhaojuan-ChinaUnix博客
作者: xiexueqiao    时间: 2018-5-13 22:23
sudo updatedb
locate vector | grep /vector$
作者: jansie1314    时间: 2018-5-13 22:23
/usr/include/c++/
Linux 中如何快速查看 C 库函数的头文件以及相应的函数信息? - 诒条狗的回答
作者: zhoujingli    时间: 2018-5-13 22:23
标准库,特别是C++的标准库,通常写得一锅粥。更何况有很多代码并不是头文件实现的。你应当先看看数据结构,掌握一些比较简单干净的代码阅读能力,有了一些心理准备再看真实世界的残酷项目。

Linux的头文件大都在/usr/include里面。C++标准库在这个目录的c++/VERSION_NUMBER里面。你自己安装的库,有可能在/usr/local/include里面,也可能在任何别的地方。
作者: lkamxmk    时间: 2018-5-13 22:23
在Ubuntu下,可以用locate搜索某个具体的库名称从而知道路径
但是具体实现的源码并不在头文件里面,头文件里面只有函数的声明和一些宏定义、环境判断

C语言倒是有 一本很旧的书提到标准库的实现 —— 《C标准库》,我这里只有扫描版PDF
C++的头文件在电脑硬盘的什么地方啊?-1.jpg
登录/注册后看高清大图

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

又去libgen搜索了一下,该作者还有一本
<The draft Standard C++ library>: Library Genesis: P J Plauger
作者: jansie1314    时间: 2018-5-13 22:23
实名反对大部分答案,大家要审题。

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

即使有一些代码,比如STL,由于模板缘故必须写成源代码形式,但是,它们的实现不是普通人能看懂的!所以我强烈建议题主放弃这个念头!
作者: gooobooo    时间: 2018-5-13 22:23
我说一个小技巧,用来查找你想要的文件的位置
该命令在系统根目录 (/) 下查找包含关键词 struct 的文件,并将该关键词用别的颜色标出。
比如在我的电脑 (OSX) 上的输出是
C++的头文件在电脑硬盘的什么地方啊?-1.jpg
登录/注册后看高清大图



2. 如果你已经知道文件名,比如 iostream,那么可以用 find 命令查找该文件所在的目录
该命令在系统目录下,查找名为 iostream 的文件,输出如下
C++的头文件在电脑硬盘的什么地方啊?-2.jpg
登录/注册后看高清大图

作者: 印度大拿    时间: 2018-5-13 22:23
头文件里大部分只有声明。
作者: wangyoo2003    时间: 2018-5-13 22:23
Ubuntu可以用whereis,不过呢你不会得到你要的答案
上网搜文档吧
作者: 誓约之剑    时间: 2018-5-13 22:23
我说一个其他的思路
但是这样的方法 没有几位菊苣的好。同时有点脱了裤子放屁




欢迎光临 迅维网 (https://www.chinafix.com/) Powered by Discuz! X3.4