我可以使用 TCC 的套接字库吗?我在包含目录中找不到任何对 winsock 或 sys/socket.h 的引用。
如果我没记错的话,winsock 是 Windows 平台 SDK 的一部分(?)如果是这样,我可以将它与 TCC 链接吗?
你应该试试这个:
tiny_impdef winsock.dll -o winsock.def
tcc yourcode.c winsock.def -o yourcode.exe
用于使用tiny_impdef.exe
命令行从 DLL 文件中导出定义:
tiny_impdef.exe wsock32.dll -o .\lib\wsock32.def
您还需要源代码的头文件来包含它们。MinGW 的(例如winsock2.h
, ws2tcpip.h
, ws2spi.h
...)可以与 TCC 一起重用。
MinGW 编译器可以从这里下载。只需将您需要的标头从 MinGW 的include
目录复制到 TCC 的include\winapi
目录即可。
在编译时,您需要告诉编译器您正在使用 Windows 套接字库:
tcc.exe path\to\code.c -lwsock32 -o path\to\program.exe
tiny_impdef winsock.dll
将 winsock.def 复制到 lib/
跑:
tcc -lwinsock yourcode.c -o yourcode.exe