2010-07-16 3 views
1

J'utilise GCC sur cygwin, mais je veux rechercher le fichier source de string.cpp à partir de la bibliothèque standard. Je veux juste lire le fichier source pour connaître la fonction que j'utilise, mais le problème est que je ne le trouve nulle part. Je trouve seulement les fichiers d'en-tête mais pas les fichiers source. Je suppose que c'est stocker ailleurs, ou peut-être sous une autre forme? lib? dll? Si oui, alors comment puis-je extraire que des ..Fichier source de la bibliothèque standard

Thx

+1

La mise en œuvre est entièrement dans le fichier d'en-tête (il est une classe de modèle). – Stephen

+0

Oui, cette question a presque trois ans, mais veuillez considérer l'une des réponses comme la bonne réponse. Merci! –

Répondre

2

std::string est en fait une spécialisation de modèle de std::basic_string pour le type char normal. Le modèle C++ a tendance à se retrouver uniquement dans les fichiers d'en-tête.

Je n'ai pas utilisé l'implémentation de la bibliothèque gcc, mais il se peut qu'il n'y ait pas de fichiers cpp (ou seulement des fichiers pour l'implémentation de charges lourdes).

2

Sur mon installation, il est situé à proximité de:

/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 

pour trouver ce genre de choses:

cd /usr 
find . | grep string 
+0

Est-ce que cygwin prend en charge 'locate'? C'est généralement un meilleur choix pour les grandes recherches. – Stephen

+0

Aussi 'bits/basic_string.tcc' pour les implémentations de fonction. –

+0

Avec GNU grep, un 'grep -R ...' aurait suffi (et c'est Cygwin, après tout). – vonbrand

Questions connexes