- ベストアンサー
カーネル内でのlogの計算
カーネル内でlogの計算(底は10)をするにはどうすればよいでしょうか? OSはFreeBSD6.2です。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
カーネルはほとんどC言語で書かれていますが、ライブラリ関数であるlog()はカーネル内部からは使用出来ません。 カーネル内にlogの計算をする関数があるかどうかは知りませんが、ない場合ライブラリのソースはあるのですから、そこからlog()の部分を流用すればいいのでは。
その他の回答 (1)
noname#98978
回答No.1
カーネルはほとんどC言語でできてますので、数学関数にlog() があります。
質問者
お礼
ご回答ありがとうございます。 しかし、/usr/src/sys/netinet/igmp.c などで、math.h をインクルードし、適当な関数の中で、logの計算をしてみましたが、カーネルのコンパイル時にmath.hというファイルはないというエラーが出てきてしまいます。
お礼
アドバイスありがとうございます。 /usr/src/lib/msun/src のファイルを流用して、logの計算ができました!