C言語関係掲示板

過去ログ

No.1120 標準関数のソースを読みたい

[戻る] [ホームページ]
No.1956

標準関数の実際
投稿者---C独学中です(2004/06/07 08:58:22)


 C言語を勉強する過程で標準関数(printfやputsなど)の実際のソースコードを読むことはよい勉強方法だと思い、ネットなどで探してみたのですが見つかりません。

 標準関数はコンパイラの会社がそれぞれに作っていて企業秘密なのでしょうか。Ansiで最良のコードが決められていて、公開されていませんか。
 標準関数の実際のコードを載せているWebページか本などをご存知の方お知らせくださいませんか。


No.1958

Re:標準関数の実際
投稿者---tetrapod(2004/06/07 09:49:41)


ISO/IEC では「仕様」だけが決められています。「実装」は定めません。
仕様どおりのコードを実装するのは各メーカの責任です。

で、サンプルソースですが例えば VC++6 なら製品に付属しています。
(インストール時にオプション指定する必要有り)
他にも glibc とかいろんな実装例が公開されています。

が、これが初心者の参考になるかどうか、というとちょっと疑問。
多プラットフォーム対応のためのコード、スレッド対応のためのコード、
その他「直接本質とは無関係に見える」コードの分量が馬鹿になりません。
詳細実装に興味がある中級者以上の人には面白いと思いますが。



No.1968

Re:標準関数の実際
投稿者---C独学です(2004/06/07 14:03:35)


tetrapod様

 返信ありがとうございました。標準関数のソースコードの実際がネットで探せない理由が良くわかりました。


No.1969

Re:標準関数の実際
投稿者---かずま(2004/06/07 14:15:55)


> 標準関数のソースコードの実際がネットで探せない理由が良くわかりました。

探せるけど、初心者に参考になるかどうかは分からないということです。

例えば、http://openbsd.secsup.org/src/lib/libc/ にソースがありますよ。

stdio/ に行けば、printf.c もありますし、
string/ に行けば、strlen.c もあります。