大侠,请解释一下这个编译问题,谢谢!
//source code -- server.c
#include <stdio.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <sys/socket.h>
int main(int argc, char *argv[])
{
int nCount;
nCount = sizeof(sockaddr);
printf("%d\n",nCount);
nCount = sizeof(sockaddr_in);
printf("%d\n",nCount);
}
说明:平台:ubuntu 7.04 desktop; gcc 版本 4.1.2
命令行: gcc -o server ./server.c -lsocket -lnsl
或 gcc -o server ./server.c -lsocket
提示:
sockaddr’ 未声明
sockaddr_in’ 未声明
命令行:g++ -o server ./server.c 编译通过
问题是,gcc编译时有什么问题吗?gcc编译其他简单程序也能通过