編集部からのお知らせ
RPA導入、もう1つのポイント
「ニューノーマルとIT」新着記事一覧

C標準ライブラリ場所

OKWave

2007-08-22 13:00

C標準ライブラリ場所

いつもお世話になっております。

printfとfgetsのソースコードが見たいのですが、ライブラリのファイル名をご存知の方がいらっしゃいましたら何卒ご教授下さい。

また他の関数のソースを探すコツなどもご存知でいらっしゃいましたら重ねてお願いいたします。

良回答

OSは何ですか? 質問カテゴリからはBSD系だと言うことしか分からないのですが、、、。でも、おそらく、printf.cとfgets.cです。

Cプログラム開発の際、普通は、libc.soを使いますが、システムのどこかにlibc.aもあるはずです。/usr/libあたりにないでしょうか。

# nm -a /usr/lib/libc.a などとすると、ファイル名とその中で定義されている外部名がリストされます。たとえば、

(略)
printf.o:
00000000 t
00000000 a
00000000 d
00000000 b
00000000 ?
00000000 ?
00000000 a
00000000 a
00000000 a
U __sF
00000000 T printf
U vfprintf
(以下略)

これをみると、printf.oのなかでprintf()が定義されていることがわかります。また、printfは下請け関数としてvfprintdを呼び出しているらしいことが分かります。

標準的なソースの置き場所は、/usr/src/lib/libc/stdio (これはNetBSDでの例)あたりだとおもいますよ。

ZDNet Japan 記事を毎朝メールでまとめ読み(登録無料)

特集

CIO

モバイル

セキュリティ

スペシャル

ホワイトペーパー

新着

ランキング

  1. セキュリティ

    セキュアなテレワークでビジネスを継続する「緊急時対応チェックリスト」

  2. クラウドコンピューティング

    ゼロトラストネットワークアクセス(ZTNA)を今すぐ採用すべき理由

  3. ビジネスアプリケーション

    今からでも遅くない、在宅勤務への本格移行を可能にする環境整備のポイント

  4. クラウド基盤

    アプリ開発者とIT管理者、両者のニーズを両立させるプラットフォームとは?

  5. ビジネスアプリケーション

    テレワークに立ちはだかる「紙・ハンコ」の壁を経費精算のペーパーレス化からはじめて乗り越える

NEWSLETTERS

エンタープライズ・コンピューティングの最前線を配信

ZDNet Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]