Linuxサーバより愛を込めて。自己紹介リンクLinux(Ubuntu)サーバとダーツを愛する中年サラリーマンの日記。Linuxサーバより愛を込めて。前回C言語で作成した実行ファイル「a.out」ですが、ソースを検証する過程でfprintfというライブラリ関数をしていることが分かっています。ソースがない状態の実行ファイルの中で使用されているライブラリを調べる方法はないものでしょうか?lddコマンドでライブラリを調べるということで調べた結果、以下のコマンドで調査できることがわかりました。(0x00007fe7bc6e7000)この「ldd」コマンドを使用すると実行ファイルに組み込まれたライブラリを調べることができます。今回の場合は「libc.so.6」がライブラリの名前で「/lib/x86_64-linux-gnu/libc.so.6」がライブラリファイルとなるんですって。本当にこのライブラリファイルの中身に「fprintf」が含まれているのでしょうか?nmコマンドでライブラリに登録された関数を調べる続いてはライブラリファイルに登録された関数を調べてみることにします。ここでは「nm」コマンドを用います。symbols」ですって。調べてみるとnmコマンドで調べられるのは実体のみのようで、シンボリックリンクを含めた調査をする場合「-D」オプションをつける必要があるようです。vfprintfはい。5行目に「fprintf」があることが確認できます。このfprintf()関数のソースはどうやったらみれるんでしょう?その辺りはまた次回としましょう。まとめると・・・ソース不明の実行ファイルがあったとして、そこで使用されているライブラリについて調査しようと思った場合lddコマンドを使用すると組み込まれたライブラリ名とライブラリファイルのパスが分かるnmコマンドを用いるとライブラリファイルに組み込まれた関数を調べることができる以上の方法で調べることが可能となります。次回はライブラリファイルのソースを読む方法について見ていくことにしましょう。コメントをキャンセルメールアドレスが公開されることはありません。その1タイトル通りにPHPを用いてメールフォームを作ってみます。前回までの内容を土台にしてEmacs上でPHPの開発環境を構築してみたいと思います。World以前、Linuxカーネルを理解するためにC言語を勉強したい!みたいなことを書いたんですが中々思うように進んでいません。C言語を使ってファイルの入出力を行う際の手順をメモ。前回、PHPを使ってMySQLに接続することができました。commentsロードバイクに関するブログを始めました。自己紹介リンクLinuxサーバより愛を込めて。Linux(Ubuntu)サーバとダーツを愛する中年サラリーマンの日記。Linuxサーバより愛を込めて。