Bonjour, je travaille depuis un an sur un proxy en C# qui me permet d'ajouter des fonctions à un simulateur de vol en interceptant et modifiant les données reçues/envoyées entre le serveur et les clients.
Cependant, j'ai un mauvais retour utilisateur : soit ils ne comprennent pas qu'ils doivent installer le Framework/mono, soit leur installation du Framework est foireuse et ils ne peuvent rien faire. J'ai également des problèmes (rares) de déconnexion pour les utilisateurs loin du serveur, alors que je n'ai jamais eu ce soucis avec des ordinateurs connectés depuis un réseau local.
Bien que je sois satisfait des performances actuelles de mon programme, je pense que ce dernier pourrait être plus rapide en C++.
Du coup, me voilà lancé à refaire du C++, mais mon expérience est très limité.
D'abord, j'ai entendu dire que le C était 100% compatible avec le C++ et que des bibliothèques écrites en C fonctionnaient parfaitement en C++. J'ai donc essayé de compiler avec gcc++ un programme écrit en C, et je me suis rendu compte que les bibliothèques standards étaient assez différentes. Par exemple, le compilateur C++ ne trouvait pas strtof, alors que le compilateur C la trouvait.
Je me demande du coup, si on peut vraiment faire en C des bibliothèques pour du C++, et si le fait de les écrire en C va accélérer le programme ou pas.
Pour un proxy, j'ai besoin de sockets. Chaque système a ses propres bibliothèques, mais j'aimerais que mon programme puisse fonctionner sous Windows et Linux.
Je me demande si question performance, il vaut mieux utiliser les bibliothèques de chaque système (Winsowk, Socket (Unix), ...) et de compiler avec des macros, ou d'utiliser des bibliothèques multi-platforme toute faite du style SDL_net, ...
Enfin, j'ai remarqué qu'il n'y avait pas de fonctions pack/unpack en C++ que j'utilisais massivement. Est_ce à cause du faite que le C++ est très proche de la machine ? Car si je comprend bien, la fonction pack() renvoit les variables telles qu'elles sont dans la mémoire. Il me suffit de "lire" les pointeurs en C++, au lieu de faire des fonctions de conversion IEE794 pour les float comme ça m'ai arrivé pour d'autres langages ?
Partager