INTRO(9) FreeBSD カーネル開発者マニュアル INTRO(9)
名称
intro − システムカーネルインタフェースの紹介 |
解説
このセクションはカーネル内のインタフェースとサブルーチンについての情報を 含んでいます。 |
ANSI-C 等のプロトタイプ
お願いします。 我々は全てのコードが完全にプロトタイプされていることを望みます。 あなたのコードが cc -Wall とした時にきれいにコンパイルできれば、我々は嬉 しく思います。これは cc を黙らせることが問題ではなく、苦情の原因事象を避 けることが問題であるということを理解することが重要です。遠慮なしに言う と、キャストや他の不明瞭化する手法で問題を隠すのではなく、問題を解決して ください。 |
インデントとスタイル
それを信用するかどうかは別として、インデントとスタイルについてのガイドが 現に存在します。けれども広くは適用されていません。 人々がそれに注意を払い、少なくとも露骨に違反しないならば、我々はそれを認 めるでしょう。 我々はあまりにもひどくない限り、あなたの独自のスタイルを気にしませんが、 必ず我々にも読めるようにしてください。 更に情報を得るために style(9) を読む時間を取ってください。 |
命名規則
幾つかの一般的な規則があります。 |
1. ある関数が DDB でのデバッグ支援を意図したものであるならば、それは下記のように囲まれるべきです。
#ifdef DDB #endif /* DDB */ 加えて、関数の名前は、それがデバッガルーチンであることが明確にわかる ように、 DDB_ を接頭辞として始めるべきです。 |
シンボルのスコープ
カーネル内のシンボルのスコープは注意深く考慮することが重要です。何らかの 理由でそう出来ない場合以外は、デフォルトでは全てを static にします。 この方針には幾つかの理由があります。主な理由は、カーネルは単一の名前空間 であることと、ここでは名前空間の汚染もあまり名案ではないということです。 デバイスドライバとカーネルに新しい内部のインタフェースを追加しないモ ジュールでは、可能であるならば全てのソースコードが一つのファイルであるべ きです。それは全てのシンボルを static にできる方法であるからです。 何らかの理由によりモジュールが複数のファイルに分割される場合には、大きな 境界線に沿ってそのモジュールを分割するよう努力して、グローバルなシンボル の数を手引にして熟考してください。少ない方が好ましいです。 |
関連項目
歴史
intro セクションのマニュアルページは FreeBSD 2.2 で登場しました。 FreeBSD 10.0 December 13, 1995 FreeBSD 10.0 |