- 论坛徽章:
- 0
|
各位老大们帮忙看下,下面这段代码我在32位上编译后,执行正常的,但是移到64位下编译后,运行时就出现浮点数错误,请教下各位,谢谢。
代码如下:
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <time.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/un.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>
int main()
{
char * srvr_addr = "127.0.0.23";
int srvr_port = 9099;
struct sockaddr_in adr_srvr;
struct sockaddr_in adr_clnt;
char * buf = "this is server";
int s = socket(PF_INET, SOCK_STREAM, 0);
if(-1 == s)
perror("socket error\n");
memset(&adr_srvr, 0, sizeof(adr_srvr));
adr_srvr.sin_family = AF_INET;
adr_srvr.sin_port = htons(srvr_port);
adr_srvr.sin_addr.s_addr = inet_addr(srvr_addr);
int z = bind(s, (struct sockaddr *)&adr_srvr, sizeof(adr_srvr));
if(-1 == z)
perror("bind error\n");
int l = listen(s, 10);
if(-1 == l)
perror("listen error\n");
while(1)
{
int len = sizeof(adr_clnt);
int c = accept(s, (struct sockaddr *)&adr_clnt, &len);
if(-1 == c)
perror("accept error\n");
int w = write(c, buf, 20);
printf("send to client ::: %s, %d cha\n", buf, w);
printf("lient addr ::: %s\n", inet_ntoa(adr_srvr.sin_addr));
close(c);
}
return 0;
}
各位帮忙看看,谢谢了。为什么会出错呢,要怎么改才能可以正确运行呢,谢谢了大家!!!!! |
|