Quand je compile un programme avec #include p>
Où puis-je voir le contenu de ce fichier, et aussi depuis que ce fichier contient des déclarations, où puis-je voir le code réel utilisé dans ces fonctions? P>
est-il ouvert à tout le monde ou n'est-il pas disponible pour le public? P>
7 Réponses :
Si vous utilisez quelque chose comme Visual Studio, vous pouvez mettre un point de rupture, puis commencer la ligne de ligne en progressant dans votre code et ouvrira les fichiers inclus au fur et à mesure. Manière la plus rapide dans un fichier à mon avis. Sinon, vous pouvez trouver le code quelque part sur votre PC ... sur le mien, c'est dans C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ VC \ CRT \ SRC \ OSTREAM CODE> Par exemple, remplacement de l'ostream Avec iostream, Sstream, etc. (Notez que ce sont des noms de fichier sans extensions) mais aussi si vous regardez le répertoire, vous verrez beaucoup de fichiers .h et .c p>
Tous les têtes de système expédient avec votre compilateur. Sur les systèmes Linux, ceux-ci peuvent normalement être trouvés sous Bibliothèques commerciales Normalement expédiez le code source. Sur Linux, ceux-ci peuvent normalement être trouvés dans les pacuges source. P> / usr / incluent code>. Sur d'autres plates-formes, la volonté vivra normalement où vous avez installé le compilateur. P>
Qu'en est-il sur un Mac, où puis-je trouver les forfaits source
Cela dépend de quelle boîte à outils que vous utilisez, et que tous les vendeurs ne font que sa mise en œuvre publique. Vous pouvez consulter la bibliothèque GNU C pour commencer: http://www.gnu.org/software / libc / p>
Dinkumware , la société derrière la bibliothèque de modèles standard C ++ utilisée dans Visual Studio par exemple, offre Un produit commercial, le code n'est donc pas disponible pour tout le monde - cela dépend vraiment de votre licence. Certaines versions de Visual Studio expédient en effet avec le code source de l'exécution incluse. P>
Quant à la STL, il y a aussi stlport , une implémentation stl open source. P>
Votre meilleur pari sera effectivement les projets qui dépendent de GCC / G ++. P>
Généralement, le fichier #Inclus est lisible, mais la bibliothèque informatique n'est généralement pas lisible. Les fichiers incluent sur un Mac sont en / usr / incluent / c ++ em>. P>
Le code de la bibliothèque dépend du compilateur. Pour GNU C ++ utilisé dans Linux et Mac, vous pouvez certainement voir le code. Vous devrez peut-être le télécharger. Il est disponible sur http://gcc.gnu.org/libstdc++/ P>
Je ne pense pas que le code de la bibliothèque Windows C ++ est disponible. P>
Fminshi: répondit à votre question sur Mac, Mod Me Up.
Le code réel se trouve dans les bibliothèques standard spécifiques à la plate-forme fournie avec votre compilateur, vous pouvez le voir en examinant la source de mise en œuvre de la bibliothèque standard. P>
Voici la documentation (et la source) pour Téléchargez la source de l'un de ces miroirs: http://gcc.gnu.org/mirrors.html p> libstdc ++ code> by gnu (il est livré avec gcc code>): http://gcc.gnu.org/onlineDocs/libstDC++/Latest-Doxygen/index.html . P>
Merci pour ce grand lien! Il a exactement ce que je cherchais.
La norme C ++ elle-même est celle-ci: une norme. Dont la mise en œuvre est effectuée par de nombreux vendeurs. STLPORT et GNU LIBSTDC ++ sont à la fois open source et peuvent être examinés dans son ensemble. Visual Studio Ships avec la bibliothèque standard de Dinkumware C ++. C'est une source fermée. P>
Néanmoins, vous pouvez toujours voir la source des en-têtes en ouvrant l'annuaire Inclure de votre Lib standard C ++. Les fichiers s'appellent comme si vous les incluez. Une grande partie est mise en œuvre dans les en-têtes de toute façon. Mais sont plutôt illisibles à l'œil non formé. P>
Mais quand il s'agit d'utiliser la bibliothèque C ++ ne dépend pas du code source exact de celui-ci, mais plutôt sur ce que dit la norme C ++. Ne programmez pas à une implémentation, mais plutôt à la norme. P>
exécutez cette commande à partir de votre ligne de commande: qui vous dira le répertoire souhaité. p> p>
Il n'y a personne de mise en œuvre de la bibliothèque standard. Vous pouvez savoir où se trouve les en-têtes de votre implémentation en recherchant les en-têtes de votre système. Il est probable qu'ils sont tous au même endroit.
Tagged osx i> par fmunshi Commentaire sur Doron Question.
Ok un Mac, quel compilateur / IDE utilisez-vous?
Merci à tout le monde pour les réponses rapides, je ne prévois pas de programmer en utilisant le code source, je voulais juste jeter un oeil pour étancher ma curiosité en la matière. :)