当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 15 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 我用 c写了个该死的程序,编译出错,各位高手帮我看看
帖子发表于 : 2008-06-16 17:01 

注册: 2006-02-05 18:11
帖子: 95
送出感谢: 0 次
接收感谢: 0 次
#include<stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>
int main (int argc ,char **argv)
{
int sockfd,n;
char recvline[1024+1];
struct sockaddr_in servaddr;
if(argc!=2)
printf("参数错误:a.out <IP address>");
if((sockfd=socket(AF_INET,SOCK_STREAM,0))<0)
printf("socket错误");
bzero(&servaddr,sizeof(servaddr));
servaddr.sin_family=AF_INET;
servaddr.sin_port=htons(13);
if(inet_pton(AF_INET,argv[1],&servaddr.sin_addr)<0)
printf("inet_pton错误%s",argv[1]);
if(connect(sockfd,(sockaddr *) &servaddr ,sizeof(servaddr))<0)
printf("connect错误");
while ((n=read(sockfd,recvline,1024))>0){
recvline[n]=0;
if(fputs(recvline,stdout)==EOF)
printf("fputs 错误");
}
if(n<0)
printf("read错误");
exit(0);
}


zhaozhy@zhaozhy-desktop:~/code/unixcode$ gcc 1.c
1.c: 在函数 ‘main’ 中:
1.c:17: 警告: 隐式声明与内建函数 ‘bzero’ 不兼容
1.c:22: 错误: ‘sockaddr’ 未声明 (在此函数内第一次使用)
1.c:22: 错误: (即使在一个函数内多次出现,每个未声明的标识符在其
1.c:22: 错误: 所在的函数内只报告一次。)
1.c:22: 错误: expected expression before ‘)’ token
1.c:22: 错误: 提供给函数 ‘connect’ 的实参太少
1.c:31: 警告: 隐式声明与内建函数 ‘exit’ 不兼容
zhaozhy@zhaozhy-desktop:~/code/unixcode$


页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2008-06-16 17:12 
头像

注册: 2007-06-16 16:36
帖子: 38
地址: #17 city
送出感谢: 0 次
接收感谢: 0 次
connect(sockfd, (struct sockaddr *) & servaddr, sizeof(servaddr))


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2008-06-16 17:13 
头像

注册: 2007-02-18 19:33
帖子: 2180
地址: lyric.im
系统: OSX
送出感谢: 0 次
接收感谢: 1
#include <bits/sockaddr.h>
#include <string.h>
...
bzero --> memset
...
connect(sock, (struct sockaddr *) &target, sizeof (struct sockaddr));
...


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2008-06-16 17:33 
头像

注册: 2007-09-29 3:09
帖子: 5773
送出感谢: 0 次
接收感谢: 3
mark~

有空要研究socket...


_________________
HUNT Unfortunately No Talent...


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2008-06-16 18:47 

注册: 2006-02-05 18:11
帖子: 95
送出感谢: 0 次
接收感谢: 0 次
谢谢楼上各位!!但是具书上说这个程序是时间程序,执行./a.out 127.0.0.1 没反映!!!提示错误


页首
 用户资料  
 
6 楼 
 文章标题 :
帖子发表于 : 2008-06-16 19:45 
头像

注册: 2007-06-16 16:36
帖子: 38
地址: #17 city
送出感谢: 0 次
接收感谢: 0 次
是不是服务器没有开啊


页首
 用户资料  
 
7 楼 
 文章标题 :
帖子发表于 : 2008-06-16 20:45 

注册: 2006-02-05 18:11
帖子: 95
送出感谢: 0 次
接收感谢: 0 次
要怎样的服务器啊!!!!!


页首
 用户资料  
 
8 楼 
 文章标题 :
帖子发表于 : 2008-06-16 21:04 
头像

注册: 2007-06-16 16:36
帖子: 38
地址: #17 city
送出感谢: 0 次
接收感谢: 0 次
你看的是《unix网络编程》卷1是吧,接着看下去,后面有服务器代码


页首
 用户资料  
 
9 楼 
 文章标题 :
帖子发表于 : 2008-06-16 21:36 

注册: 2006-02-05 18:11
帖子: 95
送出感谢: 0 次
接收感谢: 0 次
谢谢!!!连书都看出来了;太霸道了,感谢你


页首
 用户资料  
 
10 楼 
 文章标题 : <stdio.h>can not find
帖子发表于 : 2008-06-20 0:02 

注册: 2008-06-17 16:27
帖子: 2
送出感谢: 0 次
接收感谢: 0 次
编译最简单的程序,
找不到头文件,<stdio.h>
是否安装后要设环境变量?
gcc或者其它.


页首
 用户资料  
 
11 楼 
 文章标题 :
帖子发表于 : 2008-06-20 14:25 

注册: 2006-02-05 18:11
帖子: 95
送出感谢: 0 次
接收感谢: 0 次
配置GCC
刚装好的系统中已经有GCC了,但是这个GCC什么文件都不能编译,因为没有一些必须的头文件,所以要安装build-essential这个软件包,安装了这个包会自动安装上g++,libc6-dev,linux-libc-dev,libstdc++6-4.1-dev等一些必须的软件和头文件的库。
可以在新立得里面搜索build-essential或输入下面命令:
代码:
sudo apt-get install build-essential


安装完成后写一个C语言程序testc.c测试一下。

代码:

#include<stdio.h>
int main()
{
printf("Hello Ubuntu!\n");
return 0;
}


有问题wiki或者google 或者看
http://blog.sina.com.cn/s/blog_4ed18f2901008rf7.html


页首
 用户资料  
 
12 楼 
 文章标题 :
帖子发表于 : 2008-06-21 9:47 

注册: 2008-04-13 13:08
帖子: 3
送出感谢: 0 次
接收感谢: 0 次
晕死,你的那个connect中的f(connect(sockfd,(sockaddr *)&servaddr,指针sockaddr*改成struct sockaddr *就可以了


页首
 用户资料  
 
13 楼 
 文章标题 :
帖子发表于 : 2008-06-21 10:45 

注册: 2006-02-05 18:11
帖子: 95
送出感谢: 0 次
接收感谢: 0 次
我知道了!!!谢谢!!!我用 vc的时候这样写可以编译!!!


页首
 用户资料  
 
14 楼 
 文章标题 :
帖子发表于 : 2008-06-29 21:46 

注册: 2007-07-02 21:28
帖子: 8
送出感谢: 0 次
接收感谢: 0 次
thyme 写道:
你看的是《unix网络编程》卷1是吧,接着看下去,后面有服务器代码


哎,悼念steven


页首
 用户资料  
 
15 楼 
 文章标题 :
帖子发表于 : 2008-07-02 1:38 
头像

注册: 2006-09-21 14:28
帖子: 2376
送出感谢: 0 次
接收感谢: 0 次
http://wiki.ubuntu.org.cn/index.php?tit ... iant=zh-cn


_________________
http://lee.youxu.info/


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 15 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译