当前位置: 技术问答>linux和unix
gcc编译socket小程序成功,但生成的文件却无法执行
来源: 互联网 发布时间:2016-07-13
本文导语: 代码如下: /*newsocket.c*/ #include #include #include #include #include #include #include #include #include int main() { struct addrinfo hints, *res = NULL; int rc; menset(&hints, 0, sizeof(hints)); hints.ai_family = PF_UNSPEC; hints.ai_socktype...
代码如下:
/*newsocket.c*/
#include
#include
#include
#include
#include
#include
#include
#include
#include
int main()
{
struct addrinfo hints, *res = NULL;
int rc;
menset(&hints, 0, sizeof(hints));
hints.ai_family = PF_UNSPEC;
hints.ai_socktype = SOCK_DGRAM;
hints.ai_protocol = IPPROTO_UDP;
rc = getaddrinfo("127.0.0.1", "123", &hints, &res);
if(rc != 0)
{
perror("getaddrinfo");
exit(1);
}
else
printf("getaddrinfo successn");
return 0;
}
gcc 编译正常通过,但生成的文件newsocket.o却无法执行。
只给出这样的错误提示:bash: /root/newsocket.o: cannot execute binary file
可是同样的
#include
int main()
{
printf("Show it.");
}
以完全相同的方式编译后,就能顺利执行。
哪位高人能指点一下,万分感谢。
/*newsocket.c*/
#include
#include
#include
#include
#include
#include
#include
#include
#include
int main()
{
struct addrinfo hints, *res = NULL;
int rc;
menset(&hints, 0, sizeof(hints));
hints.ai_family = PF_UNSPEC;
hints.ai_socktype = SOCK_DGRAM;
hints.ai_protocol = IPPROTO_UDP;
rc = getaddrinfo("127.0.0.1", "123", &hints, &res);
if(rc != 0)
{
perror("getaddrinfo");
exit(1);
}
else
printf("getaddrinfo successn");
return 0;
}
gcc 编译正常通过,但生成的文件newsocket.o却无法执行。
只给出这样的错误提示:bash: /root/newsocket.o: cannot execute binary file
可是同样的
#include
int main()
{
printf("Show it.");
}
以完全相同的方式编译后,就能顺利执行。
哪位高人能指点一下,万分感谢。
|
gcc -c newsocket.c
把 -c去掉就行了,他生成。o是中间代码,相当于vc的obj文件
把 -c去掉就行了,他生成。o是中间代码,相当于vc的obj文件
|
up