- ベストアンサー
システムコールについて
最近システムコールについて学んでいるのですが、C言語でprintfを実行するために必要なシステムコールを特定するにはどのようなさぎょうをすればよいでしょうか? はじめに適当なプログラムを作ってあるのですが、そのプログラムを工夫することによって特定するやり方でお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
プロセスの起動execcから、dllロードするためのopen/closeとか、実際のmainまで行くのに、確かに各種システムコールが呼ばれていますね。このあたりはどのプロセスをstraceしても同じようなものですから、慣れてしまうと、目的のシステムコールはこの当たりかと(引数も目印となりますし。)推測できるようになります。 ちなみに、printfは、ファイルIDを1としてwriteシステムコール(ファイル出力と同じ。)を呼んでいるに過ぎません。
その他の回答 (1)
- wormhole
- ベストアンサー率28% (1626/5665)
回答No.1
straceを利用するとか gdbなどのデバッガなどで処理をおっかけるとか 一番確実なのはライブラリのソースを読むことだけど。
質問者
補足
straceは使ったのですが、さまざまなシステムコールがでてきます。その中で、printfを実行するために必要なシステムコールを特定するために何をすればいいかがわかりません。説明不足でした。すいません。
お礼
なるほど。お礼を忘れていました汗 ありがとうございます。