externについての質問です。
とある書籍で、次のようなコードが使われていました。

extern void func()
{
  // 関数の実装
}

私の理解では、externを関数に修飾した場合、ただ単に「外部のどこかで宣言されている」ことを明示しているだけに過ぎず、
本来は関数宣言にのみ使うべきものだと考えておりましたので、例のような関数定義への修飾は意図が分からず戸惑ってしまいます。
このように関数定義そのものにexternを修飾することに、どのような意味があるのでしょうか?