2013-07-22 19 views
5

Ben winsock hakkında birkaç şey hakkında kafam karıştı.Winsock2.h vs winsock2.h ve wsock32.lib vs ws2_32.lib

İlk olarak, Winsock2.h vs

İkinci (w '' kapaklar) Winsock2.h dahil olmak üzere arasındaki fark, Ws2_32.lib ile wsock32.lib ile bağlama arasındaki fark olan ne?

Birkaç bileşimi denedim ve derleme zamanı hatalarıyla sonuçlanıyor. Kimse bana ne kullanacağımın mantıklı mantığını açıklayabilir mi?

Teşekkür Nick Winsock2.h ve winsock2.h arasında hiçbir fark yoktur

cevap

9

. Dosya adları, tipik Windows dosya sistemlerinde büyük/küçük harf duyarlıdır. ws2_32.lib dosyası Winsock 2 içindir, wsock32.lib ise eski ve eski sürümleri içindir.

+0

Ek: Winsock 2 (ws2_32.lib), Winsock 1 (wsock32.dll) uzantısıdır. Şu anda wsock32.dll karşı çalışan bir program hala ws2_32.dll karşı yeniden bağlandığında iyi çalışır. –

+0

HawkNL çok noktaya yayın örneği (hawksoft.com/hawknl), ws2_32.lib ile bağlantı kurulurken çalışmaz, ancak wsock32.lib ile çalışacaktır. Ancak, # include'in yeni kütüphaneyle eşleşmesi için güncellendikten sonra , , vb. Gibi şeyler yeniden çalışmaya başlar. –

3

burada gösterildiği gibi: https://technet.microsoft.com/en-us/library/cc958787.aspx, wsock32.dll ve wsock.dll Win3 ile uyumluluk için w2_32.dll

için Win95 ile uyumluluk için Wsock32.old kullanabilir

veya wsock.dll için geri-compatiblity kabukları .11 :) Ama normalde Win95 ve Win3.11 programları tarafından win2K +

wsock32.lib ve w2_32.lib ile uyumluluk için kullanılan dinamik bağlantı kitaplıklarından dışa aktarılan işlevlerin ve veri öğelerinin bir listesini içerir.

Not: wsock32 ve ws_32 arasındaki bazı farklar beklenmedik olabilir. Örneğin, wsock32 winsock sürüm 2.2 API'yi çalıştıracak - ancak sürüm 2.0'ı w2_32'ye ihtiyacınız olacak.