2010-11-01 19 views
5

¿Puedo usar una biblioteca de socket de TCC? No puedo encontrar ninguna referencia a winsock o sys/socket.h en el directorio de inclusión.Tiny C Compiler (TCC) y winsock?

Si no recuerdo mal, fue el Winsock parte del SDK de la plataforma de Windows (?) Si es así ¿Puedo enlazar eso con TCC?

Respuesta

6

Según Tinycc-devel mailing list

usted debe darle una oportunidad:

tiny_impdef winsock.dll -o winsock.def 
tcc yourcode.c winsock.def -o yourcode.exe 
+0

wsock32.h se encuentran en Google de búsqueda de código. Incluía algunos otros que se encontraron fácilmente. Trabajó como un encanto, aplausos –

+0

@ tm1rbrt ¿cómo se sabe que funcionó como un encanto si tenga el archivo de algún sitio en lugar de utilizar el método de la respuesta? por cierto TCC pide winsock.h tal vez el cambio de nombre a wsock32.h WINSOCK.H trabajos Si es así se puede poner eso en su propia respuesta. Y requiere common.h que no está allí. – barlop

1
tiny_impdef winsock.dll 

copia winsock.def a lib/

de ejecución:

tcc -lwinsock yourcode.c -o yourcode.exe 
5
  1. Uso tiny_impdef.exe para exportar las definiciones del archivo DLL utilizando la línea de comandos:
    tiny_impdef.exe wsock32.dll -o .\lib\wsock32.def

  2. También necesitará los archivos de cabecera para su código fuente para incluirlos. los de MinGW (como winsock2.h, ws2tcpip.h, ws2spi.h ...) pueden ser reutilizados con TCC.
    El compilador MinGW pueden transmitirse del here. Sólo tienes que copiar las cabeceras necesitas a include directorio de MinGW al directorio del TCC include\winapi.

  3. en tiempo de compilación, tendrá que decirle al compilador que está utilizando la biblioteca de socket de Windows:
    tcc.exe path\to\code.c -lwsock32 -o path\to\program.exe