- ベストアンサー
C++ 標準ライブラリの実際の中身を知りたい
現在C++を勉強中です。 そこで質問なのですが、C++の標準ライブラリの中身って閲覧する事はできませんか? 例えば cout とか。どのように出力を示すコードが書かれているのか知りたいです。 <iostream>に限らず、色々調べたいです。 よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
#1さんのおっしゃるとおり、libstdc++の実装はいろいろあります。ここでは参考までに2つほど紹介します。 GNU http://gcc.gnu.org/libstdc++/ ソースコード: http://gcc.gnu.org/viewcvs/trunk/libstdc%2B%2B-v3/ LLVM http://libcxx.llvm.org/ (つながらないのでGoogleのキャッシュなどで見てください) LLVMのサイトにつながらないので代わりにFreeBSDに移植されている方を。 ソースコード: http://svnweb.freebsd.org/base/head/contrib/libc%2B%2B/
その他の回答 (3)
- nby1215tkd
- ベストアンサー率60% (9/15)
プラットフォームが分からないのですが、FreeBSD,NetBSDなどのBSD系OSやLinuxなどのオープンソースOSであれば、 標準ライブラリのソースファイルを見れば良いと思います。 ソースが公開されていない商用パッケージのC++だとどうしようもないと思いますが、ヘッダファイルを見れば、 実はマクロになっているなんてものもあるかもしれません。
お礼
お礼が遅くなり申し訳ありません。ありがとうございます。
- jacta
- ベストアンサー率26% (845/3158)
多くの実装では、大部分のコードはヘッダにあり、しかもヘッダはファイルとして実装されています。 したがって、ヘッダに相当するファイルをテキストエディタで開けば、ほとんどの内容を閲覧することができます。
お礼
参考になりました。お礼が遅くなり申し訳ありません。ありがとうございます。
- zwi
- ベストアンサー率56% (730/1282)
実装で中身は全然違うので、例えばgccとVisualC++では別物レベルです。 まぁ、少なくともgccはオープンソースですのでライブラリも含めて全てのソースコードは公開されています。 VC++でもF11でステップインすればトレース出来るはずです。まぁ、どちらも初心者が読むようなもんじゃないと断言出来ますけどね。
お礼
お礼が遅くなり申し訳ありません。ありがとうございます。
お礼
お礼が遅くなり申し訳ありません。ありがとうございます。