• ベストアンサー

C++ 標準ライブラリの実際の中身を知りたい

現在C++を勉強中です。 そこで質問なのですが、C++の標準ライブラリの中身って閲覧する事はできませんか? 例えば cout とか。どのように出力を示すコードが書かれているのか知りたいです。 <iostream>に限らず、色々調べたいです。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

#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/

DorMax0
質問者

お礼

お礼が遅くなり申し訳ありません。ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

回答No.4

プラットフォームが分からないのですが、FreeBSD,NetBSDなどのBSD系OSやLinuxなどのオープンソースOSであれば、 標準ライブラリのソースファイルを見れば良いと思います。 ソースが公開されていない商用パッケージのC++だとどうしようもないと思いますが、ヘッダファイルを見れば、 実はマクロになっているなんてものもあるかもしれません。

DorMax0
質問者

お礼

お礼が遅くなり申し訳ありません。ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。
  • jacta
  • ベストアンサー率26% (845/3158)
回答No.3

多くの実装では、大部分のコードはヘッダにあり、しかもヘッダはファイルとして実装されています。 したがって、ヘッダに相当するファイルをテキストエディタで開けば、ほとんどの内容を閲覧することができます。

DorMax0
質問者

お礼

参考になりました。お礼が遅くなり申し訳ありません。ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。
  • zwi
  • ベストアンサー率56% (730/1282)
回答No.1

実装で中身は全然違うので、例えばgccとVisualC++では別物レベルです。 まぁ、少なくともgccはオープンソースですのでライブラリも含めて全てのソースコードは公開されています。 VC++でもF11でステップインすればトレース出来るはずです。まぁ、どちらも初心者が読むようなもんじゃないと断言出来ますけどね。

DorMax0
質問者

お礼

お礼が遅くなり申し訳ありません。ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 標準ライブラリのcos関数の値がおかしいです。

    標準ライブラリのcos関数の値がおかしいです。 環境は OS:WindowsXP 言語:C++ 開発環境:Visual C++ ExpressiEdition です。 以下がサンプルコードです。 #include<iostream> #include<stdio.h> #include<math.h> int main(){ double y=cos(90.0 * 3.14159265358979323846264338327950288 / 180.0); printf("%lf\n",y); std::cout<<y<<std::endl; printf("%d\n",y*10); std::cout<<y*10<<std::endl; getchar(); return 0; } 上記のコードを実行すると、 0.000000 6.12323e-017 -1076268279 6.12323e-016 と出力されます。 本来なら、cos90の値は0ですから全て「0」と表示されると思うのですが・・・ 原因が分かる方がいらっしゃいましたら、教えていただけると助かります。

  • c++ 標準ライブラリ

    初心者です。 デバッグしていると標準ライブラリやMFCのコードが出てきたりしますが、 そのソースは読み取り専用ではないようで、簡単に編集できそうな感じなのです。 やっぱり間違って壊しちゃったらおかしくなってしまうんでしょうか??怖いです。 もしそうなら復帰の方法は?

  • 標準ライブラリ関数

    C言語の勉強を始めたばかりです。 標準ライブラリ関数というのがたくさんありますが、実際のソースをのせているサイトってありませんか?たとえばstrcmpを使わずにアルファベット順に並べ替えるプログラムを作ってみたいのですが。お願いします。

  • c++の改行ができません。

    cの勉強はせず、c++の勉強を始めたばかりです。 以下のソースコードでコンパイルは通るのですが、実行すると¥nによる改行が起こりません。 #include <iostream> using namespace std; int main() { cout << "Hello¥n"; cout << "abc"; return 0; } 次のように出力されます。 Hello¥nabc(コンピュータ名):(ディレクトリ名) (ユーザ名)$ ちなみに OS:OS10.8 コンパイラ:gcc4.7.2 エディタ:emacs24.2 実行ソフト:terminal です。 また、gccとemacsはmacportsにより導入しました。 分かる方回答よろしくお願いします。

  • ライブラリの中身

    Borland C++ Compiler のライブラリの中身のソースは見れないのでしょうか? .hではなく .cの方です。 strlen関数の中はなにが書かれているのか?などを確認したいのですが 知っている方がおりましたらお願いします

  • ライブラリの中身を書き換えるには

    C++のライブラリの中身を書き換えたいのですが、どのファイルを書き換えれば良いでしょうか? インクルードフォルダのファイルは拡張子がlibのファイルで、エディタで開いても見れませんでした。

  • 「標準ライブラリ」と、ネット上に配布されているような「ライブラリ」のちがい。

    「標準ライブラリ」と、ネット上に配布されているような「ライブラリ」は、全く別のものと考えていいのでしょうか? 通常のライブラリは、ある機能を持ったクラスの集合で、それはJavaのコードで書かれているものがコンパイルされたものだと思います。そういったプログラムは、例えばStringクラス等を使って書かれていると思います。 であるのに、Stringなども、調べると「標準ライブラリ」と出てきます。ライブラリを作るのに、ライブラリがいる?と、少し混乱しているのですが、「標準ライブラリ」というのは、普通のライブラリとは全く別のもの(Javaそのもの)と考えてよいのでしょうか? よろしくお願いします。

    • ベストアンサー
    • Java
  • Linuxで、標準Cライブラリが読み込まれず、C言語プログラミングができません・・・

    僕の問題はタイトルの通りで、標準Cライブラリが読み込まれていないようで、C言語プログラミングができません。 ubuntuのオフィシャルから日本語ローカライズドDesktopCDをダウンロードして、空のHDDにインストールしました。 ですが、gnome-terminalからccコマンドでプログラムをコンパイルしても、標準Cライブラリにあるはずの<stdio.h>が認識されず、続くprinft関数も読んでくれません。 これはどうしてでしょうか?LinuxはデフォルトでCやらJAVAやらのプログラミングの環境が整っているものだと思っていたので、戸惑っています。何か、セットアップが必要なのでしょうか。 ちなみに、gccでも、標準ライブラリは読み込まれませんでした。

  • 標準ライブラリー関数を使用せずに文字出力

    はじめまして、C言語初心者です。 研修で、C言語を学ぶことになったのですが研修先から頂いた練習問題で「練習のため標準ライブラリー関数は使わない」で文字列を連結するための関数を作ることになったのですが、標準ライブラリー関数を使用せずに文字出力はできるのですか??

  • C++プログラム問題(初心者です)

    C++の勉強初めて1ヶ月ぐらいです。 以下にある問題がわかりません。 解説付きでお願いします。 [問題] 関数 funcのみを修正することで、標準出力に 2 が表示する。 [プログラム] #include <iostream> using namespace std; int func(int i) {return i;} int main() { int i = 1; cout << ++func(i) << "\n"; return 0; }

このQ&Aのポイント
  • Windows7で使っていた筆まめV22をWindows11で使用できるかどうか気になります。
  • パソコンを買い換えてOSがWindows11になりましたが、筆まめV22は使えるのでしょうか?
  • V22のインストール用のDVDは在庫があるので、Windows11で使えるか知りたいです。
回答を見る

専門家に質問してみよう