包含Winsock2.h出错问题
工程中添加 Winsock2.h 报错
1>c:\program files (x86)\windows kits\8.1\include\shared\ws2def.h(100): warning C4005: 'AF_IPX' : macro redefinition
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(452) : see previous definition of 'AF_IPX'
1>c:\program files (x86)\windows kits\8.1\include\shared\ws2def.h(140): warning C4005: 'AF_MAX' : macro redefinition
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(471) : see previous definition of 'AF_MAX'
1>c:\program files (x86)\windows kits\8.1\include\shared\ws2def.h(177): warning C4005: 'SO_DONTLINGER' : macro redefinition
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(394) : see previous definition of 'SO_DONTLINGER'
1>c:\program files (x86)\windows kits\8.1\include\shared\ws2def.h(221): error C2011: 'sockaddr' : 'struct' type redefinition
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(477) : see declaration of 'sockaddr'
1>c:\program files (x86)\windows kits\8.1\include\shared\ws2def.h(421): error C2059: syntax error : 'constant'
1>c:\program files (x86)\windows kits\8.1\include\shared\ws2def.h(421): error C3805: 'constant': unexpected token, expected either '}' or a ','
1>c:\program files (x86)\windows kits\8.1\include\shared\ws2def.h(556): warning C4005: 'IN_CLASSA' : macro redefinition
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(279) : see previous definition of 'IN_CLASSA'
1>c:\program files (x86)\windows kits\8.1\include\shared\ws2def.h(562): warning C4005: 'IN_CLASSB' : macro redefinition
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(285) : see previous definition of 'IN_CLASSB'
1>c:\program files (x86)\windows kits\8.1\include\shared\ws2def.h(568): warning C4005: 'IN_CLASSC' : macro redefinition
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(291) : see previous definition of 'IN_CLASSC'
1>c:\program files (x86)\windows kits\8.1\include\shared\ws2def.h(579): warning C4005: 'INADDR_ANY' : macro redefinition
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(296) : see previous definition of 'INADDR_ANY'
1>c:\program files (x86)\windows kits\8.1\include\shared\ws2def.h(581): warning C4005: 'INADDR_BROADCAST' : macro redefinition
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(298) : see previous definition of 'INADDR_BROADCAST'
1>c:\program files (x86)\windows kits\8.1\include\shared\ws2def.h(615): error C2011: 'sockaddr_in' : 'struct' type redefinition
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(304) : see declaration of 'sockaddr_in'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(136): error C2011: 'fd_set' : 'struct' type redefinition
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(60) : see declaration of 'fd_set'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(156): warning C4005: 'FD_CLR' : macro redefinition
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(89) : see previous definition of 'FD_CLR'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(171): warning C4005: 'FD_SET' : macro redefinition
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(94) : see previous definition of 'FD_SET'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(180): error C2011: 'timeval' : 'struct' type redefinition
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(103) : see declaration of 'timeval'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(236): error C2011: 'hostent' : 'struct' type redefinition
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(159) : see declaration of 'hostent'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(249): error C2011: 'netent' : 'struct' type redefinition
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(172) : see declaration of 'netent'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(256): error C2011: 'servent' : 'struct' type redefinition
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(179) : see declaration of 'servent'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(268): error C2011: 'protoent' : 'struct' type redefinition
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(191) : see declaration of 'protoent'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(364): error C2011: 'WSAData' : 'struct' type redefinition
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(314) : see declaration of 'WSAData'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(462): error C2011: 'sockproto' : 'struct' type redefinition
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(486) : see declaration of 'sockproto'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(504): error C2011: 'linger' : 'struct' type redefinition
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(523) : see declaration of 'linger'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(517): warning C4005: 'SOMAXCONN' : macro redefinition
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(536) : see previous definition of 'SOMAXCONN'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(551): warning C4005: 'FD_READ' : macro redefinition
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(554) : see previous definition of 'FD_READ'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(554): warning C4005: 'FD_WRITE' : macro redefinition
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(555) : see previous definition of 'FD_WRITE'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(557): warning C4005: 'FD_OOB' : macro redefinition
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(556) : see previous definition of 'FD_OOB'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(560): warning C4005: 'FD_ACCEPT' : macro redefinition
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(557) : see previous definition of 'FD_ACCEPT'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(563): warning C4005: 'FD_CONNECT' : macro redefinition
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(558) : see previous definition of 'FD_CONNECT'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(566): warning C4005: 'FD_CLOSE' : macro redefinition
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(559) : see previous definition of 'FD_CLOSE'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(1650): error C2375: 'accept' : redefinition; different linkage
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(734) : see declaration of 'accept'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(1672): error C2375: 'bind' : redefinition; different linkage
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(739) : see declaration of 'bind'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(1691): error C2375: 'closesocket' : redefinition; different linkage
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(744) : see declaration of 'closesocket'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(1710): error C2375: 'connect' : redefinition; different linkage
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(746) : see declaration of 'connect'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(1731): error C2375: 'ioctlsocket' : redefinition; different linkage
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(751) : see declaration of 'ioctlsocket'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(1752): error C2375: 'getpeername' : redefinition; different linkage
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(756) : see declaration of 'getpeername'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(1773): error C2375: 'getsockname' : redefinition; different linkage
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(761) : see declaration of 'getsockname'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(1796): error C2375: 'getsockopt' : redefinition; different linkage
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(766) : see declaration of 'getsockopt'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(1817): error C2375: 'htonl' : redefinition; different linkage
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(773) : see declaration of 'htonl'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(1834): error C2375: 'htons' : redefinition; different linkage
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(775) : see declaration of 'htons'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(1852): error C2375: 'inet_addr' : redefinition; different linkage
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(777) : see declaration of 'inet_addr'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(1870): error C2375: 'inet_ntoa' : redefinition; different linkage
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(779) : see declaration of 'inet_ntoa'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(1971): error C2375: 'listen' : redefinition; different linkage
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(781) : see declaration of 'listen'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(1989): error C2375: 'ntohl' : redefinition; different linkage
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(785) : see declaration of 'ntohl'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(2006): error C2375: 'ntohs' : redefinition; different linkage
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(787) : see declaration of 'ntohs'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(2026): error C2375: 'recv' : redefinition; different linkage
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(789) : see declaration of 'recv'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(2051): error C2375: 'recvfrom' : redefinition; different linkage
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(795) : see declaration of 'recvfrom'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(2077): error C2375: 'select' : redefinition; different linkage
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(803) : see declaration of 'select'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(2101): error C2375: 'send' : redefinition; different linkage
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(810) : see declaration of 'send'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(2126): error C2375: 'sendto' : redefinition; different linkage
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(816) : see declaration of 'sendto'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(2152): error C2375: 'setsockopt' : redefinition; different linkage
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(824) : see declaration of 'setsockopt'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(2174): error C2375: 'shutdown' : redefinition; different linkage
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(831) : see declaration of 'shutdown'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(2195): error C2375: 'socket' : redefinition; different linkage
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(835) : see declaration of 'socket'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(2220): error C2375: 'gethostbyaddr' : redefinition; different linkage
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(842) : see declaration of 'gethostbyaddr'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(2240): error C2375: 'gethostbyname' : redefinition; different linkage
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(847) : see declaration of 'gethostbyname'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(2258): error C2375: 'gethostname' : redefinition; different linkage
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(849) : see declaration of 'gethostname'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(2298): error C2375: 'getservbyport' : redefinition; different linkage
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(853) : see declaration of 'getservbyport'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(2317): error C2375: 'getservbyname' : redefinition; different linkage
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(857) : see declaration of 'getservbyname'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(2335): error C2375: 'getprotobynumber' : redefinition; different linkage
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(861) : see declaration of 'getprotobynumber'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(2352): error C2375: 'getprotobyname' : redefinition; different linkage
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(863) : see declaration of 'getprotobyname'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(2373): error C2375: 'WSAStartup' : redefinition; different linkage
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(867) : see declaration of 'WSAStartup'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(2392): error C2375: 'WSACleanup' : redefinition; different linkage
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(871) : see declaration of 'WSACleanup'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(2409): error C2375: 'WSASetLastError' : redefinition; different linkage
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(873) : see declaration of 'WSASetLastError'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(2426): error C2375: 'WSAGetLastError' : redefinition; different linkage
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(875) : see declaration of 'WSAGetLastError'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(2447): error C2375: 'WSAIsBlocking' : redefinition; different linkage
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(877) : see declaration of 'WSAIsBlocking'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(2465): error C2375: 'WSAUnhookBlockingHook' : redefinition; different linkage
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(879) : see declaration of 'WSAUnhookBlockingHook'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(2483): error C2375: 'WSASetBlockingHook' : redefinition; different linkage
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(881) : see declaration of 'WSASetBlockingHook'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(2501): error C2375: 'WSACancelBlockingCall' : redefinition; different linkage
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(883) : see declaration of 'WSACancelBlockingCall'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(2524): error C2375: 'WSAAsyncGetServByName' : redefinition; different linkage
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(885) : see declaration of 'WSAAsyncGetServByName'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(2552): error C2375: 'WSAAsyncGetServByPort' : redefinition; different linkage
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(893) : see declaration of 'WSAAsyncGetServByPort'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(2579): error C2375: 'WSAAsyncGetProtoByName' : redefinition; different linkage
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(901) : see declaration of 'WSAAsyncGetProtoByName'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(2605): error C2375: 'WSAAsyncGetProtoByNumber' : redefinition; different linkage
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(908) : see declaration of 'WSAAsyncGetProtoByNumber'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(2631): error C2375: 'WSAAsyncGetHostByName' : redefinition; different linkage
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(915) : see declaration of 'WSAAsyncGetHostByName'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(2659): error C2375: 'WSAAsyncGetHostByAddr' : redefinition; different linkage
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(922) : see declaration of 'WSAAsyncGetHostByAddr'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(2683): error C2375: 'WSACancelAsyncRequest' : redefinition; different linkage
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(931) : see declaration of 'WSACancelAsyncRequest'
1>c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(2704): error C2375: 'WSAAsyncSelect' : redefinition; different linkage
1> c:\program files (x86)\windows kits\8.1\include\um\winsock.h(933) : see declaration of 'WSAAsyncSelect'
解决方法:
包含#include <Winsock2.h>在#include <windows.h>之前
包含Winsock2.h出错问题的更多相关文章
- 【VS开发】winsock 错误多 windows.h和winsock2.h的顺序
Windows平台下用C++做网络开发很多时候都会同时包含这两个头文件,如若顺序不当(windows.h先于winsock2.h)就会出现很多莫名其妙的错误.诸如: c:\program files ...
- windows.h和winsock2.h包含顺序问题(转)
windows.h和winsock2.h有类型重定义我是知道的,本来就一个库来说没问题,把winsock2放到windows.h前或先定义WIN32_LEAN_AND_MEAN都能解决问题但现的出了问 ...
- WFP在包含fwpmu.h头的时候出错
最近在学WFP驱动框架,在使用VS2013写代码调用WFP的函数时会包含fwpmu.h这个头,但是在包含这个头的时候会报错,就像下面这个图这样: 我百度了一下,然后在这个网站上面找到了解决方案: ht ...
- VS2013使用winsock.h和winsock2.h发生冲突后的终极解决方法
问题:彻底无语了,不小心某个文件包含了windows.h头文件,而windows.h文件里面包含着winsock.h文件, 如果你下次使用winsock2.h文件时,位置不对,然后编译器会给你一大堆重 ...
- winsock.h与winsock2.h出现重定义或不同的链接
经常遇到编译socket程序的时候生成几百个错误 以下是出错后的错误信息: >c:\program files\microsoft sdks\windows\v6.0a\include\ws2d ...
- 解决VS2010中winsock.h与winsock2.h冲突(重复定义)——转载
解决VS2010中winsock.h与winsock2.h冲突(重复定义)——转载 当这两个头文件顺序颠倒时,编译会出现许多莫名其妙的错误,错误如下: 1>…\include\ws2def.h( ...
- (转载)SAPI 包含sphelper.h编译错误解决方案
[转]SAPI 包含sphelper.h编译错误解决方案 在使用Microsoft Speech SDK 5.1开发语音识别程序时,包含了头文件“sphelper.h”和库文件“sapi.lib”.编 ...
- SAPI 包含sphelper.h编译错误解决方案
原文连接地址:http://blog.csdn.net/believenow_notfuture/article/details/52191229 [转]SAPI 包含sphelper.h编译错误解决 ...
- 解决Winsock2.h和afxsock.h定义冲突的办法
如果我们在工程中使用了afxsock.h,但在其它的地方又加了些 使用winsock2.h,哈哈,VC会告诉你一大堆错误,大意就是有定义重复,该怎么解决? 由于MFC的SOCKET类使用的是Winso ...
随机推荐
- linux内核设计与实现第七周读书笔记
第七章 链接 链接(linking)是将各种代码和数据部分收集起来并组合成为一个单一文件的过程,这个文件可被加载(或被拷贝)到存储并执行.链接可以执行于编译时(compile time),也就是在源代 ...
- 浴谷八连测R4题解
一开始出了点bug能看见排行榜,于是我看见我半个小时就A掉了前两题,信心场QAQ T1字符串题就不说了qwq #include<iostream> #include<cstring& ...
- 【数学】【CF27E】 Number With The Given Amount Of Divisors
传送门 Description 给定一个正整数\(n\),输出最小的整数,满足这个整数有n个因子 Input 一行一个整数\(n\) Output 一行一个整数,代表答案. Hint \(1~\leq ...
- oracle中建立job(任务)
--Oracle trunc()函数的用法/**************日期********************/1.select trunc(sysdate) from dual --2013- ...
- MDK5.13新建工程步骤
http://www.stmcu.org/module/forum/thread-600249-1-1.html 本人也是接触stm32没多久,之前用的MDK是5.1,现在用的是5.13,MDK5.0 ...
- Hibernate持久化对象修改id重新保存的办法
Hibernate持久化对象修改id重新保存的办法——Hibernate学习记录二 2017年11月10日 20:16:48 筱光 阅读数:1122 版权声明:本文为博主原创文章,未经博主允许不得 ...
- phonegap(cordova)从手机app跳转到web页面在跳转回APP本地页面思路
项目中需要用到 WAP支付宝支付. 但是 使用PHONEGAP开发 跳转到支付宝支付,然后跳转回来 就回不到APP的本地页面, 就是使用WAP的第三方登录也是一样的.很难从WAP页面在跳转到 app本 ...
- elasticsearch配合mysql实现全文搜索
之前用了sphinx,发现很多东西很久都没更新过了,之前只是知道有elasticsearch这个东西,还以为是java才能用,所以一直没有去了解过,也许sphinx慢慢会被淘汰了吧. 前置条件:需要安 ...
- python--生成器协程运算
生成器 一.yield运行方式 我们定义一个如下的生成器: def put_on(name): print("Hi {}, 货物来了,准备搬到仓库!".format(name)) ...
- Java中的Class.forName
在做JAVA EE开发的过程中,更多的是使用框架来提高开发效率.越来越发现,之前很基础的一些东西,都忘记的差不多了.从今天开始慢慢的复习一下基础.今天在看JDBC的时候,就有一个有趣的地方,之前学的时 ...