2010-11-01 43 views
5

Posso utilizzare una libreria socket da TCC? Non riesco a trovare alcun riferimento a winsock o sys/socket.h nella directory di inclusione.Tiny C Compiler (TCC) e Winsock?

Se ricordo bene, winsock faceva parte dell'SDK della piattaforma Windows (?) Se è così posso collegarlo con TCC?

risposta

6

Secondo Tinycc-devel mailing list

si dovrebbe dare una prova:

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

wsock32.h Trovato su google ricerca del codice. Comprendeva alcuni altri che erano facilmente reperibili. Ha funzionato come un fascino, evviva –

+0

@ tm1rbrt come fai a sapere che ha funzionato come un incantesimo se hai ottenuto il file da qualche parte invece di usare il metodo nella risposta? btw tcc chiede winsock.h, magari rinominando wsock32.h in winsock.h. Se così fosse, potresti metterlo nella tua risposta. E richiede common.h che non è lì. – barlop

1
tiny_impdef winsock.dll 

copia winsock.def a lib/

run:

tcc -lwinsock yourcode.c -o yourcode.exe 
5
  1. Usa tiny_impdef.exe per esportare le definizioni dal file DLL utilizzando la riga di comando:
    tiny_impdef.exe wsock32.dll -o .\lib\wsock32.def

  2. sarà necessario anche i file di intestazione per il codice sorgente di includerli. Quelli di MinGW (come winsock2.h, ws2tcpip.h, ws2spi.h ...) possono essere riutilizzati con TCC.
    Il compilatore MinGW può essere scaricato da here. Basta copiare le intestazioni necessarie dalla directory include di MinGW alla directory include\winapi di TCC.

  3. al momento della compilazione, è necessario dire al compilatore che si sta utilizzando la libreria di socket di Windows:
    tcc.exe path\to\code.c -lwsock32 -o path\to\program.exe