2010-07-16 144 views
1

我在cygwin上使用GCC,但我想浏览标准库中的string.cpp源文件。我只想阅读源文件以了解我正在使用的函数的知识,但问题是我无法在任何地方找到它。我只找到头文件而不是源文件。我认为它是存储在其他地方,或者可能是另一种形式? LIB? dll的?如果是这样,那我怎么才能提取出来..标准库源文件

THX

+1

整个实施是在头文件(这是一个模板类)。 – Stephen 2010-07-16 10:50:32

+0

是的,这个问题已经接近三年了,但请考虑标记其中一个答案为正确答案。谢谢! – 2013-03-26 15:42:03

回答

2

std::string实际上是std::basic_string为正常char类型的模板专业化。模板C++往往只在头文件中结束。

我还没有使用gcc库的实现,但可能没有cpp文件(或仅用于执行繁重工作的文件)。

2

在我的安装,它是位于附近:

/usr/lib/gcc/i686-pc-cygwin/4.3.4/include/c++/string 
/usr/lib/gcc/i686-pc-cygwin/4.3.4/include/c++/bits/basic_string.h 

找到这类东西:

cd /usr 
find . | grep string 
+0

cygwin是否支持'locate'?对于大型搜索来说,这通常是更好的选择。 – Stephen 2010-07-16 10:51:27

+0

函数实现也是'bits/basic_string.tcc'。 – 2010-07-16 10:57:32

+0

使用GNU grep'grep -R ...'就足够了(毕竟这是Cygwin)。 – vonbrand 2013-02-08 01:06:16