プロトタイプ宣言は厳密には暗黙的に extern なのではなくて、
それより前に static なプロトタイプ宣言や関数定義がなければ extern になり、
あれば static になる。