-3
我試圖編譯下面的一個C文件(稱爲main.c中)。我得到以下錯誤:無法訪問的ifreq結構定義,__USE_MISC宏觀不確定
main.c: In function ‘main’:
main.c:9:2: error: unknown type name ‘ifreq’
我知道「的ifreq」結構定義一個謊言「的#ifdef __USE_MISC」中宏,然而,我無法激活代碼塊。
我制定了檢查下面的代碼的宏定義(與「海灣合作委員會的main.c -o主」編譯):
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <net/if.h>
int main(int argc, char **argv)
{
#ifdef __USE_MISC
printf("__USE_MISC defined\n");
#endif
#ifdef _GNU_SOURCE
printf("_GNU_SOURCE defined\n");
#endif
#ifdef _BSD_SOURCE
printf("_BSD_SOURCE defined\n");
#endif
#ifdef _SVID_SOURCE
printf("_SVID_SOURCE defined\n");
#endif
}
其結果是,它們都被定義,但「_GNU_SOURCE」一個。但是,我仍然無法使用「net/if.h」文件中包含的「ifreq」結構的定義。
有人可以幫忙嗎?
正確的,非常感謝你的幫助,我根本看不到裏面的「淨代碼/ if.h「,我認爲它應該用typedef定義...再次感謝! – Ricardo 2013-05-09 13:24:08