免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1104 | 回复: 5
打印 上一主题 下一主题

编译时候出现怪问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-03-03 16:56 |只看该作者 |倒序浏览
[root@BillingServer unix]# gcc -o PRG6_4 PRG6_4.C
/tmp/ccgBvhPS.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status

我在编译网络编程一本书上的例子程序的时候居然出现这样的错误?
环境是Redhat 9

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
2 [报告]
发表于 2004-03-03 17:00 |只看该作者

编译时候出现怪问题

你把源文件名.C改为.c。

论坛徽章:
0
3 [报告]
发表于 2004-03-03 17:03 |只看该作者

编译时候出现怪问题

用g++编译试试看。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
4 [报告]
发表于 2004-03-03 18:18 |只看该作者

编译时候出现怪问题

大写的后缀C,在linux下认为是C++源程序。

论坛徽章:
0
5 [报告]
发表于 2004-03-03 20:42 |只看该作者

编译时候出现怪问题

我下午试验了下,这个错误的确消失了,不过又莫名其妙出来另一个错误,明天去了实验室发过来.

居然说我的for循环出现初始化问题,我真纳闷呢
语句段是下面的for 循环

  1.         while (num = recv(connectfd, recvbuf, MAXDATASIZE,0))
  2.         {
  3.                 recvbuf[num] = '\0';
  4.                 printf("Received client( %s ) message: %s",cli_name, recvbuf);
  5.                 for (int i = 0; i < num - 1; i++)
  6.                 {
  7.                         sendbuf[i] = recvbuf[num - i -2];
  8.                 }
  9.                 sendbuf[num - 1] = '\0';

  10.                 send(connectfd,sendbuf,strlen(sendbuf),0); /* send to the client welcome message */
  11.         }
  12.         close(connectfd); /*  close connectfd */
复制代码

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
6 [报告]
发表于 2004-03-03 21:06 |只看该作者

编译时候出现怪问题

在c语言里,函数里用到的变量要在
函数前面定义。你在for循环里定义了int i,
所以不对,放到前面定义就好了。
c++语言可以这样的。
好好看书吧。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP