今まで見てきたことがあるパターンを書き出してみた.
関数のプロトタイプ宣言
- おそらく一番オーソドックスな使い方.
- 関数本体が書いてあるオブジェクトファイルor静的ライブラリor動的ライブラリがあるはず.
- ヘッダーとオブジェクトファイルが一対一対応とは限らない?
グローバル変数のextern宣言
- 研究室のプログラムでよく見た
- 本来であればソースファイルごとにそのモジュールで使用するグローバス変数のみをextern宣言する方が礼儀よさそう
- 変数の実体を定義するソースファイルを用意するのを忘れずに
インライン関数
- 呼び出し回数が多くかつ短い関数はオーバーヘッドが関数呼び出しになってしまうので、インライン展開するとよい
- コンパイラによっては必ずインライン展開される保証はないと聞く
- システムコールとかをインラインにしておくことが多い?