0
我在Windows 7中使用winsock
庫創建了server
項目。但是,我的朋友想用這個項目在Ubuntu
和Code::Blocks
框架。當我將該項目移動到Ubuntu
時,我意識到沒有winsock
庫!所以,我想問一個建議,在Ubuntu中使用winsock
lib或者在ubuntu
中運行我的項目。謝謝!有沒有辦法將winsock從Windows移到Ubuntu?
我在Windows 7中使用winsock
庫創建了server
項目。但是,我的朋友想用這個項目在Ubuntu
和Code::Blocks
框架。當我將該項目移動到Ubuntu
時,我意識到沒有winsock
庫!所以,我想問一個建議,在Ubuntu中使用winsock
lib或者在ubuntu
中運行我的項目。謝謝!有沒有辦法將winsock從Windows移到Ubuntu?
而不是鏈接到ws2_32庫(Windows上的winsock),而是需要鏈接到glibc,你總是用g ++/gcc構建時要做的。
然而,您將需要用#ifdef來替換一些系統調用。 例如在linux上,你有close()而不是closesocket(),ioctl()而不是ioctlsocket()等等。
嘗試在你的代碼中使用此塊:
#if defined(__unix__)
typedef int SOCKET;
#define closesocket(i) close(i)
#define ioctlsocket(i,l,ul) ioctl(i,l,ul)
#endif
併爲您的插座,您將需要使用的typedef SOCKET。
Yeap!我嘗試着!謝謝! – 2012-07-17 00:07:43