- ベストアンサー
Linuxカーネルのヘッダーファイルって何ですか
http://labs.uechoco.com/blog/2008/01/virtualboxfedora_7guestguest_additions.html の下の方に書いてある「Linuxカーネルのヘッダーファイル」とは何ですか 分かる方教えてください
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#1です。 >つまり、「Cファイルという実際の処理の中身のファイル」の方だけが、Fedoraに最初から入っていて、 >後からヘッダーファイルをインストールすることで、ほかのプログラム(Virtualbox Guest Additions)が、カーネルのプログラムを呼んで実行等をすることができるようになる、ということですね。 おおむね正しいです。ただ、カーネル機能を使うプログラムを実行するときに使うのじゃなくて、カーネル機能を使うプログラムを自分でコンパイルするときに必要です。実行するだけならヘッダは要りません。 一口に、カーネルの機能といっても、ファイルのopenやwriteを行うだけだと、標準のヘッダファイルだけでコンパイルできます。kernel-develが必要なのは、カーネルの内部動作に関わる制御情報にアクセスする場合です。 なお、kernel-develはカーネルのソースが入っているわけではないので、自分でkernel自体をコンパイルしてみたい場合は、別途kernelのソースパッケージをインストールする必要があります。kernel-develは、カーネルソースの中のヘッダファイルの一部だけを取りだしたものです。
その他の回答 (2)
- wildcat-yp
- ベストアンサー率37% (303/813)
簡単に言うと、Linuxカーネルのソースのことです。 Linuxのカーネルは、C言語というプログラミング言語で書かれており、C言語のお約束として、ヘッダーファイルという目次のようなものとCファイルという実際の処理の中身のファイルの2種類に分ける必要があります。 他のプログラムからカーネルのプログラムを呼んで実行等させるときには、どういうプログラムがあって、どうやって呼び出せばよいかというのをヘッダーファイルを読んで判断します。 ちなみにこのサイトにも書かれていましたが、kernel-develというパッケージにカーネルのすべてのソースファイル入っていますので、これをインストールすればよいのです。
補足
詳しい回答ありがとうございます。 つまり、「Cファイルという実際の処理の中身のファイル」の方だけが、Fedoraに最初から入っていて、 後からヘッダーファイルをインストールすることで、ほかのプログラム(Virtualbox Guest Additions)が、カーネルのプログラムを呼んで実行等をすることができるようになる、ということですね。
- notnot
- ベストアンサー率47% (4900/10358)
カーネルの機能を使うプログラムが参照するヘッダファイルです。 kernel-developとかのパッケージに含まれています。(もちろんOSによってパッケージ名は異なる可能性がありますが)
お礼
回答ありがとうございます Linuxカーネルのヘッダーファイルとはそういうものなんですね
お礼
そういうことなんですね。 こんな詳しい回答を頂けて、本当にうれしいです。 ありがとうございました。