serveraddr.sin_family=AF_INET;
//设置IP
serveraddr.sin_addr.s_addr=inet_addr(SERVER_IP); //htonl(INADDR_ANY);
//设置Port
serveraddr.sin_port=htons(10240);
//绑定端口,监听1024端口的任何请求
printf("bind()\n");
printf("%d ", inet_addr(SERVER_IP) );
iRet=bind(serverfd,(struct sockaddr*)&serveraddr,sizeof(serveraddr));
if(iRet==-1)
printf("bind() fail\n");
exit(0);
//监听端口,最大并发数10
printf("listen()\n");
iRet=listen(serverfd,LISTENQ);
if(iRet==-1)
printf("listen() fail\n");
exit(0);
//接受请求,发送主机时间
for(;;)
printf("Waiting for connection...\n");
//接受请求
// connectfd=accept(serverfd,(struct sockaddr*)NULL,NULL);
int addrClientlen = sizeof(addrClient);
sClient=accept(serverfd,(struct sockaddr FAR*)&addrClient, &addrClientlen);
ZeroMemory(buff,1024);
retVal = recv(sClient, buff, 1024, 0);
printf("%s \n",buff);
#ifdef MINGW32
send(connectfd,buff,strlen(buff),0);
closesocket(connectfd);
#else
write(connectfd,buff,strlen(buff));
close(connectfd);
#endif
#ifdef MINGW32
//Winsows下关闭socket
closesocket(serverfd);
WSACleanup();
#endif
exit(0);
#define MINGW32#include #include #include #ifdef MINGW32#include #else#include #include #endif#define LISTENQ 10#define SERVER_IP "192.168.1.103"int main(int argc,char *arg
运行
MinGW
-Get Version 0.6.3-pre-20170905-1的
mingw
-get-setup.exe后,下载安装后的文件。
gcc
版本是 9.2.0-2,解压后把
MinGW
\bin配置到path,Eclipse IDE for C/C++ Developers等开发工具 即可自动识别(Eclipse for C/C++ 2018-09 测试通过 ),然后就可以用Eclipse等开发工具学习和开发C或C++程序。
安装了GNU C++编译器、GNU Ada编译器、GNU Fortran编译器、GNU Objective-C编译器,见图:安装完成.png。
MinGW
\var\cache\
mingw
-get\packages 这个目录下有
MinGW
Installation Manager下载的安装包,
gcc
-ada-9.2.0-2-
mingw
32-bin.tar.xz、
gcc
-c++-9.2.0-2-
mingw
32-bin.tar.xz、
gcc
-core-9.2.0-2-
mingw
32-bin.tar.xz、
gcc
-fortran-9.2.0-2-
mingw
32-bin.tar.xz、
gcc
-objc-9.2.0-2-
mingw
32-bin.tar.xz等安装包都有。
MinGW
(Minimalist GNU on
Window
s),将经典的开源 C语言 编译器
GCC
移植到了
Window
s 平台下,并且包含了 Win32API ,因此可以将源代码编译为可在
Window
s 中运行的可执行程序。而且还可以使用一些
Window
s 不具备的,Linux平台下的开发工具。一句话来概括:
MinGW
就是
GCC
的
Window
s 版本 。
MinGW
-w64 与
MinGW
的区别在于
MinGW
只能编译生成32位可执行程序,而
MinGW
-w64 则可以编译生成 64位 或 32位 可执行程序。正因为如此,
MinGW
现已被
MinGW
-w64 所取代,且
MinGW
也早已停止了更新。
ubuntu下
socket
编程涉及到头文件sys/
socket
.h 和sys/types.h。我是用的codeblocks编辑器,当我想查看
socket
,h头文件时编辑器提示找不到头文件。
我就想可能是没有设置codeblocks头文件的搜索路径。好吧,那首先就找找这个文件藏在哪里吧
find / -name
socket
.h -print
或者locate sys/s
解压完
MinGW
.7z文件后,配置完环境变量,编写一个c/c++程序hello.c/hello.cpp原代码,cmd进入
window
s命令行后,cd进入到当前hello.c或hello.cpp源代码所在路劲下,使用下面的命令:
gcc
-g hello.c -o hello 编译hello.c源程序输出目标文件为hello,
紧接着再在命令输入hello,试试效果
这个东西还可以作为CodeBlocks的
gcc
编译器用。
添加
socket
头文件sys/
socket
.h时:
报无法打开源文件,sys/
socket
.h
将头文件:#include <sys/
socket
.h>,替换成:#include <winsock.h>,问题解决
vs出现 fatal error C1083: 无法打开包括文件: “sys/
socket
.h”: No such file …
ubuntu下
socket
编程涉及到头文件sys/
socket
.h 和sys/types.h。我是用的codeblocks编辑器,当我想查看
socket
,h头文件时编辑器提示找不到头文件。
我就想可能是没有设置codeblocks头文件的搜索路径。好吧,那首先就找找这个文件藏在哪里吧
<span style="font-size:12p...
### 回答1:
Mingw
-w64
gcc
是一种在
Window
s平台上开发和编译C和C++程序的工具链。它可用于生成适用于
Window
s操作系统的本地代码,并提供了一个开发环境,以便开发人员可以方便地编写和测试程序。
Mingw
-w64(Minimalist GNU for
Window
s)是从
MinGW
项目分支而来,其重点在于支持
Window
s 64位操作系统。
Mingw
-w64
gcc
提供了一组GNU工具,包括编译器、链接器、调试器和其他工具,用于对C和C++代码进行编译和构建。 它还支持各种标准C和C++库,包括STL和Boost。
Mingw
-w64
gcc
具有许多优点,其中之一是它是免费的并且开源。 它还拥有庞大的社区支持,每个人都可以访问并为其做出贡献。
Mingw
-w64
gcc
提供了一种灵活和可定制的开发环境,以便满足各种项目和应用程序的需求。 最后,
Mingw
-w64
gcc
可以大大减少开发时间和开发成本,并提高代码质量和性能。
Reading the request body timed out due to data arriving too slowly. See MinRequestBodyDataRate
CSS常用代码(一)