我用 c写了个该死的程序,编译出错,各位高手帮我看看
-
- 帖子: 95
- 注册时间: 2006-02-05 18:11
我用 c写了个该死的程序,编译出错,各位高手帮我看看
#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$
#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$
- thyme
- 帖子: 38
- 注册时间: 2007-06-16 16:36
- 来自: #17 city
- 联系:
- shellex
- 帖子: 2180
- 注册时间: 2007-02-18 19:33
- 系统: OSX
- 来自: lyric.im
- 联系:
-
- 帖子: 2
- 注册时间: 2008-06-17 16:27
<stdio.h>can not find
编译最简单的程序,
找不到头文件,<stdio.h>
是否安装后要设环境变量?
gcc或者其它.
找不到头文件,<stdio.h>
是否安装后要设环境变量?
gcc或者其它.
-
- 帖子: 95
- 注册时间: 2006-02-05 18:11
配置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
刚装好的系统中已经有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
-
- 帖子: 3
- 注册时间: 2008-04-13 13:08
-
- 帖子: 2376
- 注册时间: 2006-09-21 14:28