заголовочный файл linux как редактировать код gcc - PullRequest
0 голосов
/ 26 апреля 2018

моя система vm - это Ubuntu 16.04, и я загрузил заголовочные файлы ядра, я написал код ,, но не знаю, как редактировать код gcc или Makefile

#include <linux/netdevice.h>
#include <stdio.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <netinet/in.h>

int main(){
    struct net_device *dev = dev_base;
    struct in_device *mydevice;
    struct in_ifaddr *myifaddr;
    while( dev != NULL ){
        printf("dev name: %s\n", dev->name);
        mydevice = dev->ip_ptr;
        myifaddr = mydevice->ifa_list;
        while(myifaddr != NULL){
            printf("ip: %s\n", inet_ntoa((struct in_addr)(myifaddr->ifa_local)));
            myifaddr = myifaddr->ifa_next;
        }
        dev = dev->next;
    }
    return 0;
}

если я использую gcc test.c, появится сообщение об ошибке, подобное этому

yq@ubuntu:~/test$ gcc test.c 
In file included from /usr/include/linux/netdevice.h:28:0,
                 from test.c:1:
/usr/include/linux/if.h:234:19: error: field ‘ifru_addr’ has incomplete type
   struct sockaddr ifru_addr;
                   ^
......

test.c: In function ‘main’:
test.c:8:27: error: ‘dev_base’ undeclared (first use in this function)
  struct net_device *dev = dev_base;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...