ここでカーネルコードを参照している間struct page;
、メンバーなしで定義されています(これは前方宣言ではないと思います)。
しかし、この投稿で受け入れられた回答では、許可されていないと述べています。
次にサンプルを試してみたところ、
#include <stdio.h>
struct page;
struct arm_vmregion
{
unsigned long vm_start;
unsigned long vm_end;
struct page *vm_pages;
int vm_active;
const void *caller;
};
int main()
{
struct arm_vmregion aa;
return 0;
}
正常にコンパイルされます
empty_struct.c: In function ‘main’:
empty_struct.c:15:22: warning: unused variable ‘aa’ [-Wunused-variable]
この点について明確にしてください。