2011-05-25 61 views
1

我发现导游的负荷来帮助我的过程中套接字编程,但我是非常新的C,当我尝试执行程序,它有错误与错误包括交流电插座库

#include <sys/socket.h> 
#include <netinet/in.h> 

这是为什么?我使用Eclipse来做到这一点。它不会编译,并说“错误存在于这个项目中,你希望继续”

并突出这两条线,其明显不包含这些文件包括..不知道如何整理出来..

指南:http://beej.us/guide/bgnet/output/html/multipage/clientserver.html#datagram

编辑:编码它放在一个wnidows盒,但有工作/在Windows箱和linux

+0

什么平台?此外,包含通常是这样的:'#include ' – birryree 2011-05-25 15:21:25

+1

Downvotes在这里我觉得有点苛刻。 – Nick 2011-05-25 15:22:14

+0

http://www.linuxhowtos.org/C_C++/socket.htm 是教程 – odtf 2011-05-25 15:30:12

回答

2

的不同口味的运行您需要包括“”或<各地>包含文件。你还需要一个#符号。

例如:

#include <sys/socket.h>  
#include <netinet/in.h> 
+0

是的,他们是这样 - 我有一个母马机智编辑 – odtf 2011-05-25 15:29:31

+0

@odtf - 在这种情况下,你会得到什么错误? – birryree 2011-05-25 15:30:25

+0

单击问题下方的“编辑”按钮并进行更改。另外值得添加错误信息,以便我们提供帮助。 – Nick 2011-05-25 15:31:11

0

这些头文件可在unixy操作系统,如FreeBSD的,Mac OSX版,和Linux操作系统。由于您现在正在使用Windows,因此您必须使用winsock,它是Windows自己的BSD套接字API实现,并具有不同的标头和一些稍微不同的函数名称。

这Beej指南的一个部分中详细说明:http://beej.us/guide/bgnet/output/html/singlepage/bgnet.html#windows

他还提到安装了cygwin这样可以让你使用你使用的是现在的头,但我不知道这将是一种选择为你。