pragma comment(lib,"Ws2_32.lib")表示鏈接Ws2_32.lib這個庫。
和在工程設置裏寫上鍊入Ws2_32.lib的效果一樣,不過這種方法寫的程序別人在使用你的代碼的時候就不用再設置工程settings了。
手工設置的步驟如下
快捷鍵“Alt+F7”進入工程設置之後,LINK-----OBJECT/LIBRARY MODULES裏面設置有一樣的效果:
ws2_32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
告訴連接器連接的時候要找ws2_32.lib,這樣你就不用在linker的lib設置裏指定這個lib了。
ws2_32.lib是winsock2的庫文件
WinSock2就相當於連接系統和你使用的軟件之間交流的一個接口,可能這個功能就是修復軟件與系統正確的通訊的作用。
Q:
近期看socket的程序發現有的#pragma comment(lib,"wsock32")
有的#pragma comment(lib,"ws2_32")
是不是有兩個版本的WinSock2?
A:
CSocket在WSock32.dll中實現
Socket API在ws2_32.dll實現
這兩個DLL是兩個不同層次的接口,調用關係如下:
網絡應用程序->CSocket(WSock32.dll)->Socket API(ws2_32.dll)-> 網絡傳輸服