WINSOCK.H WINSOCK2.H的区别及函数重复定义的解决方法
2016-10-08 17:10
309 查看
1. 版本区别
winsock2.h 版本2.0
winsock.h 版本1.1
说白了就是winsock2.h是winsock.h的升级版,用来替换winsock.h
2. 重复定义
因为是两个不同的版本,因此有非常多相同的定义
解决方法:
1)windows.h在winsock2.h的前面
**该办法影响其他库文件
#define WIN32_LEAN_AND_MEAN //关键
#include
#include
#pragma comment(lib, "ws2_32.lib")
2)windows.h在winsock2.h的前面,手动定义_WINSOCKAPI_
winsock2.h定义了_WINSOCKAPI_,阻止编译器去处理后面的winsock.h
#pragma push_macro("_WINSOCKAPI_")
#ifndef _WINSOCKAPI_
#define _WINSOCKAPI_
#endif
#include
#pragma pop_macro("_WINSOCKAPI_")
3)windows.h在winsock2.h的后面
winsock2.h定义了_WINSOCKAPI_,阻止编译器去处理后面的winsock.h
#include
#include
#pragma comment(lib, "ws2_32.lib")
<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
阅读(4728) | 评论(0) | 转发(0) |
0
上一篇:Windows Server 重设域用户密码和用户自己更改密码
下一篇:生成随机数
相关热门文章
LNK1123: 转换到 COFF 期间失...
WIN7访问共享:0x80070035 找不...
Delphi 2010下载+完美破解...
vs2010调试C++程序时提示 无...
VISIO,不规则封闭图形填充方...
linux dhcp peizhi roc
关于Unix文件的软链接
求教这个命令什么意思,我是新...
sed -e "/grep/d" 是什么意思...
谁能够帮我解决LINUX 2.6 10...
给主人留下些什么吧!~~
评论热议
winsock2.h 版本2.0
winsock.h 版本1.1
说白了就是winsock2.h是winsock.h的升级版,用来替换winsock.h
2. 重复定义
因为是两个不同的版本,因此有非常多相同的定义
解决方法:
1)windows.h在winsock2.h的前面
**该办法影响其他库文件
#define WIN32_LEAN_AND_MEAN //关键
#include
#include
#pragma comment(lib, "ws2_32.lib")
2)windows.h在winsock2.h的前面,手动定义_WINSOCKAPI_
winsock2.h定义了_WINSOCKAPI_,阻止编译器去处理后面的winsock.h
#pragma push_macro("_WINSOCKAPI_")
#ifndef _WINSOCKAPI_
#define _WINSOCKAPI_
#endif
#include
#pragma pop_macro("_WINSOCKAPI_")
3)windows.h在winsock2.h的后面
winsock2.h定义了_WINSOCKAPI_,阻止编译器去处理后面的winsock.h
#include
#include
#pragma comment(lib, "ws2_32.lib")
<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
阅读(4728) | 评论(0) | 转发(0) |
0
上一篇:Windows Server 重设域用户密码和用户自己更改密码
下一篇:生成随机数
相关热门文章
LNK1123: 转换到 COFF 期间失...
WIN7访问共享:0x80070035 找不...
Delphi 2010下载+完美破解...
vs2010调试C++程序时提示 无...
VISIO,不规则封闭图形填充方...
linux dhcp peizhi roc
关于Unix文件的软链接
求教这个命令什么意思,我是新...
sed -e "/grep/d" 是什么意思...
谁能够帮我解决LINUX 2.6 10...
给主人留下些什么吧!~~
评论热议
相关文章推荐
- WINSOCK.H WINSOCK2.H的区别及函数重复定义的解决方法
- WINSOCK.H WINSOCK2.H的区别及函数重复定义的解决方法
- vc2008 项目拆分库 出现 LNK2005 库函数重复定义的问题的解决方法
- C++ link2005 error 错误 解决方法汇总(一般重复定义,如果都是不就是 函数定义和实现没有分离)
- 函数两种定义方法的区别
- zend studio中ctrl+鼠标左键无法转到类或函数定义文件的解决方法
- 解决PHP中函数重复定义的问题
- 1>s.cpp(465) : error C2448: “main”: 函数样式初始值设定项类似函数定义 问题的解决方法
- Matlab+VC混合编程的mclmcr.h重复定义错误解决方法
- 解决类型重复定义(typedef)的方法
- VS中重复定义的解决方法
- zend studio中ctrl+鼠标左键无法转到类或函数定义文件的解决方法
- zend studio中ctrl+鼠标左键无法转到类或函数定义文件的解决方法
- link时出现重复定义的错误——解决方法
- AnimateWindow()函数未定义的解决方法
- error C2470 错误记录与解决方法。“看起来像函数定义,但没有参数列表”
- 函数两种定义方法的区别
- hpp文件解决类成员函数重复定义的问题
- error C2448 函数样式初始值设定类似函数定义 解决方法
- C++中关于类重复定义的分析和解决方法