extern 修飾子を使うと,変数の実際の記憶領域と初期値や関数の本体が別のソースコード モジュールに定義されていることを示します。extern を付けて関数を宣言すると,関数を 静的関数として再定義しない限り,プログラム中のすべてのソースファイルでその関数が どこに位置しているかわかるようになります。 関数プロトタイプの場合,キーワード extern はオプションです。 C++ プログラムでは,関数名が変形されるのを防ぐために,extern "C" を使ってください。