我不知道在文件系统上的什么地方可以找到C ++标准库的标头。特别是我正在寻找矢量模板的定义。我在/ usr / include /和各种子目录中搜索。我也尝试过“ locate vector.h”,它带来了许多矢量的实现,但不是标准的。我想念什么?(分布是Gentoo)
背景:我正在剖析一个在vector大部分时间里都经过迭代的库,而gprof表明大部分时间都花在了
std::vector<int, std::allocator<int> >::_M_insert_aux(
__gnu_cxx::__normal_iterator<int*, std::vector<
int, std::allocator<int> > >, int const&)
这可能是内部在std :: vector :: push_back上发生的事情,但是我不确定。
GCC通常在中安装了标准C ++标头/usr/include/c++/<version>/
。您可以运行gcc -v
以找出已安装的版本。
至少在我的版本中,没有vector.h
;public标头只是vector
(没有扩展名),大多数实现在中bits/stl_vector.h
。
我的Ubuntu发行版就是这种情况。您的分配可能会有所不同。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句