Windows socket编程环境初始配置--devC++

前言

在windows下进行socket编程时,因为引入的不是标准的C语言库,所以需要设置gcc编译链接的dll动态链接库路径。下面展示devC++中进行编程时需要设置的环境问题。

问题

需要引入的库和初始化代码

在win下进行socket编程,需要引用的头文件有

#include 
#include 
#pragma comment(lib, "Ws2_32.lib") //此处是引入ws2_32.lib的链接库

winsock中存在多个版本,需要准备相应的WORD类型,下面是相关宏定义和源码类型

#define MAKEWORD(a, b) ((WORD)(((BYTE)(((DWORD_PTR)(a)) & 0xff)) | ((WORD)((BYTE)(((DWORD_PTR)(b)) & 0xff))) << 8))
int WSAStartup(WORD wVersionRequested, LPWSADATA ipWSADATA);

一般会如下面示例一样初始化

WSADATA wsaData;
if(WSAStartup(MAKEWORD(2, 2), &wsaData) != 0)

gcc编译的额外命令

如果没有对gcc编译命令进行修改,就会产生如下的问题,无法使用外部的符号表。
Windows socket编程环境初始配置--devC++_第1张图片
为解决上面的问题,需要在编译选项中加上 -lWs2_32的命令
Windows socket编程环境初始配置--devC++_第2张图片

参考文章链接

使用Dev C++进行Windows socket网络编程,需链接lws2_32库

你可能感兴趣的:(socket,c++,开发语言)