2010-11-01 3 views
5

Puis-je utiliser une bibliothèque de socket de TCC? Je ne trouve aucune référence à winsock ou à sys/socket.h dans le répertoire include. Si je me souviens bien, winsock faisait partie de la plate-forme Windows SDK (?) Si oui, puis-je lier cela avec TCC?Tiny C Compiler (TCC) et Winsock?

Répondre

6

Selon Tinycc-devel mailing list

vous devriez essayer ce:

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

Trouvé sur wsock32.h recherche google code. Il comprenait quelques autres qui ont été facilement trouvés. Travaillé comme un charme, bravo –

+0

@ tm1rbrt comment savez-vous cela a fonctionné comme un charme si vous avez obtenu le fichier de quelque part plutôt que d'utiliser la méthode dans la réponse? btw tcc demande winsock.h peut-être renommer wsock32.h à winsock.h fonctionne Si oui, vous pouvez mettre cela dans votre propre réponse. Et il nécessite common.h qui n'est pas là. – barlop

1
tiny_impdef winsock.dll 

copie winsock.def à lib/

run:

tcc -lwinsock yourcode.c -o yourcode.exe 
5
  1. Utilisez tiny_impdef.exe pour exporter des définitions à partir du fichier DLL en utilisant la ligne de commande:
    tiny_impdef.exe wsock32.dll -o .\lib\wsock32.def

  2. Vous aurez également besoin des fichiers d'en-tête de votre code source pour les inclure. Ceux de MinGW (tels que winsock2.h, ws2tcpip.h, ws2spi.h ...) peuvent être réutilisés avec TCC.
    Le compilateur MinGW peut être téléchargé à partir de here. Copiez simplement les en-têtes dont vous avez besoin dans le répertoire include de MinGW vers le répertoire include\winapi de TCC.

  3. Au moment de la compilation, vous devez dire au compilateur que vous utilisez la bibliothèque socket Windows:
    tcc.exe path\to\code.c -lwsock32 -o path\to\program.exe