• 3945阅读
  • 1回复

为什么 .c和.cpp的文件在QT/Linux中有差别呢? [复制链接]

上一主题 下一主题
离线蠢蠢欲懂
 
只看楼主 倒序阅读 楼主  发表于: 2012-02-23
在QT Creator中,用socket编写了一个Server.cpp的程序,编译会出现错误,说
error: ‘write’ was not declared in this scope
error: ‘close’ was not declared in this scope
我把头文件包含进来了的!

我把这个文件保存为.c的文件,然后在终端用gcc -o server sever.c就没有上面的错误,但是如果用.cpp的文件,即gcc -o server server.cpp就会有错误,我有点儿费解,问题就是个后缀的问题,希望各位大侠解释解释
谢拉!
报错的代码块:
  1. while (1)
  2.     {
  3.         //阻塞服务器,直到客户机建立连接
  4.         sin_size=sizeof(struct sockaddr_in);
  5.         if ((new_fd=accept(sockfd,(struct sockaddr*)(&client_addr),(socklen_t*)&sin_size))==-1)
  6.         {
  7.             fprintf(stderr,"Accept error :%s \a\n",strerror(errno));
  8.             exit(1);
  9.         }
  10.         fprintf(stderr,"Server get connection from %s:\n",inet_ntoa(client_addr.sin_addr)); //IP地址
  11.         if (write(new_fd,hello,strlen(hello))==-1)//这句报错
  12.         {
  13.             fprintf(stderr,"Write Error :%s \a\n",strerror(errno));
  14.             exit(1);
  15.         }
  16.         close(new_fd);//这句报错
  17.     }




离线wxj120bw

只看该作者 1楼 发表于: 2012-02-23
回 楼主(蠢蠢欲懂) 的帖子
g++ -o server server.cpp 试下
快速回复
限100 字节
 
上一个 下一个