スポンサーリンク

INTRO(9) FreeBSD カーネル開発者マニュアル INTRO(9)

名称

intro − システムカーネルインタフェースの紹介

解説

このセクションはカーネル内のインタフェースとサブルーチンについての情報を 含んでいます。

ANSI-C 等のプロトタイプ

お願いします。

我々は全てのコードが完全にプロトタイプされていることを望みます。

あなたのコードが cc -Wall とした時にきれいにコンパイルできれば、我々は嬉 しく思います。これは cc を黙らせることが問題ではなく、苦情の原因事象を避 けることが問題であるということを理解することが重要です。遠慮なしに言う と、キャストや他の不明瞭化する手法で問題を隠すのではなく、問題を解決して ください。

インデントとスタイル

それを信用するかどうかは別として、インデントとスタイルについてのガイドが 現に存在します。けれども広くは適用されていません。

人々がそれに注意を払い、少なくとも露骨に違反しないならば、我々はそれを認 めるでしょう。

我々はあまりにもひどくない限り、あなたの独自のスタイルを気にしませんが、 必ず我々にも読めるようにしてください。

更に情報を得るために style(9) を読む時間を取ってください。

命名規則

幾つかの一般的な規則があります。

       1. ある関数が DDB でのデバッグ支援を意図したものであるならば、それは下記のように囲まれるべきです。

#ifdef DDB

#endif /* DDB */

加えて、関数の名前は、それがデバッガルーチンであることが明確にわかる ように、 DDB_ を接頭辞として始めるべきです。

シンボルのスコープ

カーネル内のシンボルのスコープは注意深く考慮することが重要です。何らかの 理由でそう出来ない場合以外は、デフォルトでは全てを static にします。

この方針には幾つかの理由があります。主な理由は、カーネルは単一の名前空間 であることと、ここでは名前空間の汚染もあまり名案ではないということです。

デバイスドライバとカーネルに新しい内部のインタフェースを追加しないモ ジュールでは、可能であるならば全てのソースコードが一つのファイルであるべ きです。それは全てのシンボルを static にできる方法であるからです。

何らかの理由によりモジュールが複数のファイルに分割される場合には、大きな 境界線に沿ってそのモジュールを分割するよう努力して、グローバルなシンボル の数を手引にして熟考してください。少ない方が好ましいです。

関連項目

style(9)

歴史

intro セクションのマニュアルページは FreeBSD 2.2 で登場しました。

FreeBSD 10.0 December 13, 1995 FreeBSD 10.0

スポンサーリンク