Compatible Win & Lin

Résolu
MoDDiB Messages postés 546 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 4 mai 2007 - 27 sept. 2004 à 13:04
MoDDiB Messages postés 546 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 4 mai 2007 - 27 sept. 2004 à 17:51
Je cherche à créer un prog réseaux a partir de mon environnement windows mais je veux que ce prog fonctionne tout aussi bien sous linux.
Je voulais donc savoir si les sockets fonctionnaient sous linux a mon avis oui mais je crois que winsock n'est pas tres adapté donc comment faire?
Il faudra du multithreading aussi et j'aimerais savoir si cela ce gère de la même manière sous linux.
De plus pour l'interface graphique je voudrais que ca soit des fenetres de types windows je pense que qt est adapté a cela mais si je prends qt pour windows le prog ne fonctionnera pas sous linux et vice - versa ?
Enfin comme j'aurais besoin d'un rafraichissement rapide d'image il me faudrait utiliser la stl mais celle ci est elle facilement adapatable avec qt?

Voila merci beaucoup a ceux qui aurnot pris la peine de lire et surtout merci à ceux qui m'éclaireront ^^

11 réponses

fredcl Messages postés 547 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 7 octobre 2007 1
27 sept. 2004 à 16:12
Pour utiliser GCC sous windows sois tu utilise un EDI sois tu fais tout a la main.
EDI : Dev-Cpp trés bien facile en français integre la gestion de wxWidgets (void mon site pour un devpak de la dernière version de wxWidgets)
sans EDI : MinGW faut prendre dans la version current ceci MinGW-3.1.0-1.exe (le compilateur et les outils) et MSYS-1.0.10.exe (ça permet de recréer un environement minimal ressemblant à unix )
Les deux fichers sont des executables d'installation.
(sur cette page : http://www.mingw.org/download.shtml)
bien suivre les instructions d'installation en bas de la page.

A+

Fred
3
cs_Nebula Messages postés 787 Date d'inscription samedi 8 juin 2002 Statut Membre Dernière intervention 7 juin 2007 2
27 sept. 2004 à 17:29
Euh, un thread n'est ni bloquant ni non-bloquant... Simplement je pensais qu'il serait utile de gérer ton(tes) socket(s) dans un thread, vu que les appels sont bloquants par défaut (send, recv, etc), çà éviterait de freezer l'application... Mais wxWidgets et Qt proposent des objets sockets non-bloquants (et même thread je crois), donc tu ne devrais pas avoir à t'en soucier, si tu les utilises ;-)
3
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
27 sept. 2004 à 13:21
pourquoi ne pas utiliser java?
0
MoDDiB Messages postés 546 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 4 mai 2007 1
27 sept. 2004 à 13:33
parce que je connais rien de java...Parce que j'ai besoin d'une très grande rapidité que java ne permet pas je crois et que c'est un gros projet donc je préfère utiliser ce que je sais :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Nebula Messages postés 787 Date d'inscription samedi 8 juin 2002 Statut Membre Dernière intervention 7 juin 2007 2
27 sept. 2004 à 14:04
Sockets : winsock 1.0 implémente les sockets BSD exactement comme linux (send, recv, listen, bind, accept et connect). Seul truc à faire :

#ifdef __WIN32__
WSAStartup();
#endif

en debut de code (avec les arguments, évidemment) et WSACleanup en fin de code... même manip pour les #include, çà permettra de détecter à la compilation ce qui va bien. On peut aussi utiliser des constructions similaires dans le Makefile, et avoir ainsi un prog 100% portable avec rien à modifier pour compiler (sous GCC, évidemment... MSVC c'est une autre histoire).

Pour les threads (si tu veux sockets portables ils seront bloquants), les threads POSIX (pthreads) ont été portés sous windows par redhat, un tour sur Google et voilà...

Pour l'affichage : OpenGL est très performant sur les deux systèmes (même plus rapide : UT2004 tournait sans ralentir sur ma vieille config alors qu'il saccadait sous Windows). SDL semble pas mal non plus, je l'ai déjà vu à l'oeuvre en 2D et c'est bien sympa, mais je sais pas ce que çà vaut en 3D.

Bon courage !
0
cs_Nebula Messages postés 787 Date d'inscription samedi 8 juin 2002 Statut Membre Dernière intervention 7 juin 2007 2
27 sept. 2004 à 14:12
J'oubliais... La license de Qt sous Windows ne permet de distribuer que des applications GPL (à vérifier, çà peut avoir changé). GTK est tout aussi bien (y'a des wrappers sous forme de classes C++ pour les maniaques de la POO) et n'impose rien, mais les runtime sont plus gros que ceux de Qt... Sinon il reste wxWidgets, qui semble très bien et utilise le toolkit natif de l'OS sur lequel il tourne (Cocoa sous Mac, Win32 sous Windows, GTK sous Linux, etc) et orienté objet. Pareil, vérifier la license (à moins que tu ne fasses du GPL, auquel cas tout est ok). Tous ces toolkits (ou framework dans le langage 01.net) sont portables, donc pas de soucis : ton application aura la même tête partout. Et si tu veux pas de mauvaises surprises, utilises GCC même sous Windows : MSVC laisse passer du code que GCC refuse et inversement (portabilité, mes fesses).

Voilà, j'ai rien oublié cette fois ;-)
0
fredcl Messages postés 547 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 7 octobre 2007 1
27 sept. 2004 à 15:33
Bonjour,
WxWidgets est en LGPL ce qui te permet de faire aussi bien des logiciels libre que propriétaire.

A+

Fred
0
MoDDiB Messages postés 546 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 4 mai 2007 1
27 sept. 2004 à 15:46
Merci beaucoup mais voilà mon nouveau probleme :)
Je n'y connais absolument rien au monde de linux je tapes donc gcc sous google... je vois :
download et la je veux prendre directement le binaire
J'arrive a un choix :
Microsoft Windows:
* The Cygwin project;
* The MinGW project.

J'essais Cygwin ... je d/l sur leur ftp et la j'obtient des packages avec des tar.tgz que je ne peux pas ouvrir...

J'essais MinGw bon la dans download il me donne l'addresse pour 7zip sui me permet de prendre du tar.gz mais.....dans les version je prends laquelle ?
la gcc
ou la win32?

Merci de m'éclaircir et si vous avez un site qui explique comment comprendre tout ces tar.gz monstrueux :)
Merci :p
0
cs_Nebula Messages postés 787 Date d'inscription samedi 8 juin 2002 Statut Membre Dernière intervention 7 juin 2007 2
27 sept. 2004 à 17:16
Pour faire tout à la main (sous linux t'auras pas le choix, donc autant prendre le pli directement, et de toute manière je n'aime pas DevC++, mais c'est un point de vue personnel) : http://www.progforum.net/viewtopic.php?t=57
(flemme de tout retaper)

Et j'ai posté ici même un tutorial pour créer des Makefile :
http://www.cppfrance.com/code.aspx?id=10889

Après çà, tu seras paré ;-)
0
MoDDiB Messages postés 546 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 4 mai 2007 1
27 sept. 2004 à 17:23
Merci beaucoup fredcl et Nebula je vais d'abord essayer d'user dev-cpp comme EDI car je me sens plus a l'aise sous dev que sous une tonne de makefile à effectuer mais je garde tout de même tes url en mémoires vu qu'il faudra bien que je passe par la un jour :)

Sinon tu me parles des threads POSIX (pthreads) il s'agit des thread non bloquant de linux?

Merci encore :)
0
MoDDiB Messages postés 546 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 4 mai 2007 1
27 sept. 2004 à 17:51
Une fois de plus merci beaucoup !!
0
Rejoignez-nous