• ベストアンサー

printfのコードは?

C言語において、 printf等の標準関数もC言語で書かれていると聞きましたが、そのコードそのものを見ることが出来るのでしょうか? ご存知の方、よろしくお願いいたします。

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

  • ベストアンサー
  • tksoft
  • ベストアンサー率36% (99/273)
回答No.2

平林雅英(著) 新ANSI C言語辞典/技術評論社(刊) に定義例として載っています。それによると、 #include <stdio.h> /* vfprintf */ #include <stdarg.h> /* va_list, va_start, va_end */ int printf(const char *format, ...) { int r; va_list args; /* 作業用変数の定義 */ va_start(args, format); /* 初期化 */ r=vfprintf(stdout, format, args); va_end(args); /* 終了 */ return r; } ・・・てな具合です。 この辞典には他にも様々な標準関数の定義例が載っていますので勉強になります。もちろんこれはprintf関数の実装の一例ですからmk1234さんの持っているコンパイラのソースコードがこのようになっているとは限りません。

mk1234
質問者

お礼

回答ありがとうございます。 大変参考になりました。

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

その他の回答 (3)

  • liar_adan
  • ベストアンサー率48% (730/1515)
回答No.4

フリーUnixで使われているGCC(Gnu C Compiler)のコードなら見ることができます。 (下のサイトから探せます)

参考URL:
http://www.gnu.org/home.ja.html
mk1234
質問者

お礼

回答ありがとうございます。 大変参考になりました。

すると、全ての回答が全文表示されます。
noname#4252
noname#4252
回答No.3

ライブラリのソースがあれば、見ることが出来ます。 商用のものでもProfessional版以上ならソースがついているのではないでしょうか。

mk1234
質問者

お礼

回答ありがとうございます。 大変参考になりました。

すると、全ての回答が全文表示されます。
  • kmor
  • ベストアンサー率27% (225/825)
回答No.1

これはパフォーマンスに大きく左右されるためトップシークレットとなっているようです。 デバッガでステップ実行してもアセンブラレベルでしか表示されません。 見ることは出来ないようですね。

mk1234
質問者

お礼

回答ありがとうございます

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

関連するQ&A