函数err_sys()在哪里定义?

在这代码中收到与err_sys()相关的错误
#include <stdio.h>
#include <sys/socket.h>
#include <netinet/in.h>
int main()
{
    int sockfd;

    if ((sockfd=socket(AF_INET,SOCK_STREAM,0))<0)
        err_sys("can't create socket");

    close(sockfd);
    return 0;
}

我收到链接错误

/tmp/cciuUVhz.o: In function `main':
getsockopt.c:(.text+0x38): undefined reference to `err_sys'
collect2: ld returned 1 exit status

函数err_sys()在哪里定义?

解决方法

将其放在您的代码之上:
void err_sys(const char* x) 
{ 
    perror(x); 
    exit(1); 
}

perror是在stdio.h中定义的

err_sys在Richard Stevens的书“UNIX网络编程:套接字网络API”中使用.据我所知,这不是常见的事情.

编辑:固定代码错误

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...