JUST DO IT ~

          我只想當(dāng)個(gè)程序員

          windows.h socket2 沖突


          好像inlucde windows 會(huì)默認(rèn)使用winsocket1 ,我們現(xiàn)在寫(xiě)程序都是使用socket2 . 編譯會(huì)沖突.

          1.種方法  
          #define WIN32_LEAN_AND_MEAN
          放在windows.h 之前.

          2. 先引入socket2.h文件.

          3. 項(xiàng)目 -> 屬性 -> C/C++ -> 預(yù)處理器 -> 預(yù)處理器定義

          在其中添加 : WIN32_LEAN_AND_MEAN


          WIN32_LEAN_AND_MEAN: Windows 頭文件使用此符號(hào)來(lái)排除很少使用的頭文件。請(qǐng)參考 Windows.H,以確定當(dāng)定義了此符號(hào)時(shí),將排除的文件。由于 MFC 定義 WIN32_LEAN_AND_MEAN,所有 MFC 項(xiàng)目自動(dòng)都使用它。


          下面具體分析一下問(wèn)題是怎么發(fā)生的。

          參考
          http://support.microsoft.com/kb/166474/zh-cn
          http://tieba.baidu.com/p/705524374

          錯(cuò)誤情形1:我們?cè)谧约旱墓こ讨邢劝瑆insock2.h再包含windows.h,如果WIN32_LEAN_AND_MEAN未定義且 _WIN32_WINNT大于或等于0x400,那么windows.h會(huì)在winsock2.h開(kāi)頭被自動(dòng)引入,而windows.h又會(huì)自動(dòng)引入 mswsock.h,此時(shí),mswsock.h里所用的socket類(lèi)型還尚未定義,因此會(huì)出現(xiàn)類(lèi)型未定義錯(cuò)誤。

          錯(cuò)誤情形2:先包含 windows.h再包含winsock2.h,如果WIN32_LEAN_AND_MEAN未定義且_WIN32_WINNT未定義或者其版本號(hào)小于 0x400,那么windows.h會(huì)自動(dòng)導(dǎo)入舊有的winsock.h,這樣再當(dāng)winsock2.h被包含時(shí)便會(huì)引起重定義。

          這里要說(shuō)明的是,宏WIN32_LEAN_AND_MEAN的作用是減小win32頭文件尺寸以加快編譯速度,一般由AppWizard在stdafx.h中自動(dòng)定義。_WIN32_WINNT的作用是開(kāi)啟高版本操作系統(tǒng)下的特殊函數(shù),比如要使用可等待定時(shí)器(WaitableTimer),就得要求 _WIN32_WINNT的值大于或等于0x400。因此,如果你沒(méi)有遇到上述兩個(gè)問(wèn)題,很可能是你沒(méi)有在這些條件下進(jìn)行網(wǎng)絡(luò)編程。
          VC_EXTRALEAN 和WIN32_LEAN_AND_MEAN 用于排除Windows 標(biāo)頭在很少 使用的服務(wù)

          posted on 2015-01-04 15:16 小高 閱讀(911) 評(píng)論(0)  編輯  收藏


          只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           

          導(dǎo)航

          <2015年1月>
          28293031123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          統(tǒng)計(jì)

          常用鏈接

          留言簿(3)

          隨筆分類(lèi)(352)

          收藏夾(19)

          關(guān)注的blog

          手冊(cè)

          搜索

          積分與排名

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 天祝| 南陵县| 宝鸡市| 汽车| 芦溪县| 绥滨县| 辽中县| 墨竹工卡县| 桂平市| 大石桥市| 淮阳县| 五指山市| 绥江县| 瑞丽市| 永平县| 青河县| 临猗县| 砀山县| 泗阳县| 五大连池市| 福清市| 隆尧县| 交城县| 那曲县| 上高县| 阜康市| 合阳县| 县级市| 寻乌县| 靖宇县| 田东县| 高淳县| 萨嘎县| 壶关县| 亚东县| 保定市| 四平市| 广饶县| 苍梧县| 石渠县| 彩票|