宣言ファイルと実装ファイルは、明示タイプのオブジェクトには生成されません。
その代わりに、そのオブジェクトが含まれるパッケージの宣言ファイルに外部宣言が生成されます。 例えば、タイプ B のオブジェクト C に対して、C を所有するパッケージの宣言ファイルに以下の宣言が作成されます。
struct B; extern struct B C;