• ベストアンサー

Linuxカーネルのヘッダーファイルって何ですか

http://labs.uechoco.com/blog/2008/01/virtualboxfedora_7guestguest_additions.html の下の方に書いてある「Linuxカーネルのヘッダーファイル」とは何ですか 分かる方教えてください

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.3

#1です。 >つまり、「Cファイルという実際の処理の中身のファイル」の方だけが、Fedoraに最初から入っていて、 >後からヘッダーファイルをインストールすることで、ほかのプログラム(Virtualbox Guest Additions)が、カーネルのプログラムを呼んで実行等をすることができるようになる、ということですね。 おおむね正しいです。ただ、カーネル機能を使うプログラムを実行するときに使うのじゃなくて、カーネル機能を使うプログラムを自分でコンパイルするときに必要です。実行するだけならヘッダは要りません。 一口に、カーネルの機能といっても、ファイルのopenやwriteを行うだけだと、標準のヘッダファイルだけでコンパイルできます。kernel-develが必要なのは、カーネルの内部動作に関わる制御情報にアクセスする場合です。 なお、kernel-develはカーネルのソースが入っているわけではないので、自分でkernel自体をコンパイルしてみたい場合は、別途kernelのソースパッケージをインストールする必要があります。kernel-develは、カーネルソースの中のヘッダファイルの一部だけを取りだしたものです。

noname#155939
質問者

お礼

そういうことなんですね。 こんな詳しい回答を頂けて、本当にうれしいです。 ありがとうございました。

その他の回答 (2)

回答No.2

簡単に言うと、Linuxカーネルのソースのことです。 Linuxのカーネルは、C言語というプログラミング言語で書かれており、C言語のお約束として、ヘッダーファイルという目次のようなものとCファイルという実際の処理の中身のファイルの2種類に分ける必要があります。 他のプログラムからカーネルのプログラムを呼んで実行等させるときには、どういうプログラムがあって、どうやって呼び出せばよいかというのをヘッダーファイルを読んで判断します。 ちなみにこのサイトにも書かれていましたが、kernel-develというパッケージにカーネルのすべてのソースファイル入っていますので、これをインストールすればよいのです。

noname#155939
質問者

補足

詳しい回答ありがとうございます。 つまり、「Cファイルという実際の処理の中身のファイル」の方だけが、Fedoraに最初から入っていて、 後からヘッダーファイルをインストールすることで、ほかのプログラム(Virtualbox Guest Additions)が、カーネルのプログラムを呼んで実行等をすることができるようになる、ということですね。

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.1

カーネルの機能を使うプログラムが参照するヘッダファイルです。 kernel-developとかのパッケージに含まれています。(もちろんOSによってパッケージ名は異なる可能性がありますが)

noname#155939
質問者

お礼

回答ありがとうございます Linuxカーネルのヘッダーファイルとはそういうものなんですね

関連するQ&A