Question d'orientation !?

Question d'orientation !? - C - Programmation

Marsh Posté le 26-04-2010 à 11:21:37    

Bonjour a tous  :)  
 
Voila je suis arrivé a la fin de la 2eme parties du tuto (siteduzéro avec une révision depuis le début ainsi que les exercices fait et compris), et ma question est :
 
Est ce que je dois faire la 3eme parties qui est consacré a la création d'un jeu en 2D avec la bibliothèque SDL alors que je ne suis pas intéressé par la création des jeux 2D, mais plutôt par la création de logiciels(client - serveurs) ?

Reply

Marsh Posté le 26-04-2010 à 11:21:37   

Reply

Marsh Posté le 26-04-2010 à 13:09:16    

AMHA, tu ferais surtout mieux de consolider tes connaissances du C sans orientation particulière de tel ou tel type de logiciel.
Quand on maîtrise le C, on peut coder n'importe quel logiciel : faut juste éventuellement prendre en main telle ou telle librairie.
 
Une partie importante et même essentielle en programmation : savoir concevoir un logiciel. Si tu faisais de la POO, un bon début serait d'apprendre les design patterns. Ensuite, faut apprendre tout un tas de théories pour être en mesure de mettre au point des algorithmes : tri, ordonnancement de tâches, tout ce qui touche aux pbs de ressources et processus (sémaphore, wait/signal, threads...). Regarder du côté des réseaux est une bonne idée aussi (protocoles UDP, TCP, voire SOAP,  RMI...), surtout si la notion de client/serveur t'intéresse.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 26-04-2010 à 22:46:29    

De la POO en C :??:


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 27-04-2010 à 07:39:01    

http://ldeniau.web.cern.ch/ldeniau/html/oopc.html
 
Hors de portée pour le moment de notre jeune ami qui a mon avis.


---------------
The truth is rarely pure and never simple (Oscar Wilde)
Reply

Marsh Posté le 27-04-2010 à 09:35:13    

esox_ch a écrit :

De la POO en C :??:


Citation :

Si tu faisais de la POO


Je sous-entendais "si tu apprenais le C++" (ou tout autre langage objet).


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 27-04-2010 à 11:37:17    

bonjour
 
Je suis en train de lire le tutoriel des sockets et je comprend pas ce que demande l'auteur ici
 

Citation :

Sur Windows
 
Tout d'abord, n'oubliez pas, dans chaque projet que vous créez, d'ajouter le fichier "ws2_32.lib" (pour le compilateur Visual C++) ou "libws2_32.a" (pour les autres) dans votre éditeur de liens. Vous trouverez ce fichier dans le dossier "lib" de votre IDE. J'insiste un peu, car on oublie très souvent de le faire


 
J'ai trouvé "libws2_32.a" mais ou je dois le mettre ? Avez vous un idée ?
 
PS: j'ai essayé de le mettre dans le projet code::block mais ça ne marche pas !


Message édité par lassault1 le 27-04-2010 à 11:38:48
Reply

Marsh Posté le 27-04-2010 à 11:42:13    

faut rajouter le path de ces fichiers dans la partie "édition des liens" de ton compilateur. De la même manière que t'as un ou plusieurs paths vers les .h, il en faut aussi pour certaines dll ou lib compilées auxquelles t'as pas accès au code source (.h et .c).


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 27-04-2010 à 13:13:36    

Salut
 
C'est là qu'on voit l'avantage qu'il y a à débuter sans IDE.
Quand on compile et qu'on link à la main on n'a pas ce problème.
 
Tu devrais regarder de la doc sur les mécanismes de compilation et d'édition de lien (désolé je n'en ai pas à te donner dans l'immédiat). Ça te sera toujours utile et ce n'est pas très long à comprendre et utiliser.
 
Il n'ont pas fait de tuto compilation/édition de lien sur le super site du zero?


---------------
deluser --remove-home ptitchep
Reply

Marsh Posté le 27-04-2010 à 13:49:50    

J'ai fais (sous codeblock) pour ajouter une bibliothèque à l'éditeur de liens, Project / Build Options... / linker settings puis add dans la partie link library, puis  rechercher libws2_32.a  
 
 
Mais ça ne marche toujours pas...
 
J'ai toujours plusieurs erreurs et warning lors de la compilation...  
 

Citation :

ro\test\main.c||In function `main'
ro\test\\main.c|34|error: `SOCKADDR_IN' undeclared (first use in this function)|
ro\test\\main.c|34|error: (Each undeclared identifier is reported only once|
ro\test\\main.c|34|error: for each function it appears in.)|
ro\test\\main.c|34|error: syntax error before "sin"|
ro\test\\main.c|35|error: `SOCKET' undeclared (first use in this function)|
ro\test\\main.c|36|error: `socklen_t' undeclared (first use in this function)|
ro\test\\main.c|49|error: `sock' undeclared (first use in this function)|
ro\test\\main.c|49|warning: implicit declaration of function `socket'|
ro\test\\main.c|49|error: `AF_INET' undeclared (first use in this function)|
ro\test\\main.c|49|error: `SOCK_STREAM' undeclared (first use in this function)|
ro\test\\main.c|52|error: `INVALID_SOCKET' undeclared (first use in this function)|
ro\test\\main.c|57|error: `sin' undeclared (first use in this function)|
ro\test\\main.c|57|warning: implicit declaration of function `htonl'|
ro\test\\main.c|57|error: `INADDR_ANY' undeclared (first use in this function)|
ro\test\\main.c|59|warning: implicit declaration of function `htons'|
ro\test\\main.c|60|warning: implicit declaration of function `bind'|
ro\test\\main.c|60|error: `SOCKADDR' undeclared (first use in this function)|
ro\test\\main.c|60|error: syntax error before ')' token|
ro\test\\main.c|60|error: `recsize' undeclared (first use in this function)|
ro\test\\main.c|63|error: `SOCKET_ERROR' undeclared (first use in this function)|
ro\test\\main.c|66|warning: implicit declaration of function `listen'|
ro\test\\main.c|74|error: `csock' undeclared (first use in this function)|
ro\test\\main.c|74|warning: implicit declaration of function `accept'|
ro\test\\main.c|74|error: syntax error before ')' token|
ro\test\\main.c|74|error: `csin' undeclared (first use in this function)|
ro\test\\main.c|74|error: `crecsize' undeclared (first use in this function)|
ro\test\\main.c|75|warning: implicit declaration of function `inet_ntoa'|
ro\test\\main.c|75|warning: format argument is not a pointer (arg 3)|
ro\test\\main.c|85|warning: implicit declaration of function `closesocket'|
||=== Build finished: 20 errors, 9 warnings ===|



Message édité par lassault1 le 27-04-2010 à 14:35:39
Reply

Marsh Posté le 27-04-2010 à 14:35:48    

Tu devrais t'orienter vers la recherche de documentation :sleep:

Reply

Marsh Posté le 27-04-2010 à 14:35:48   

Reply

Marsh Posté le 27-04-2010 à 14:52:09    

faudrait pas cygwin d'installé par hasard?


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 27-04-2010 à 16:48:50    

Personne peut m'aider?

Reply

Marsh Posté le 27-04-2010 à 18:43:20    

faudrait voir à arreter avec le site du zero et prendre des vrais cours ...

Reply

Marsh Posté le 27-04-2010 à 18:57:29    

Joel F toi aussi tu été un gros débutant... et tu serait content de trouver un site adapter au débutant !!!

Reply

Marsh Posté le 27-04-2010 à 20:24:42    

Déjà je te conseil de laisser tomber les ide et d'apprendre à compiler à la main tes projets (voir plus tard à utiliser les makefile).
 
GCC et notepad++ sont tout ce qu'il te faut pour apprendre le C. Les IDE facilite trop le travail et masque des détails qui sont nécessaire à un débutant (inclusion de bibliothèque, structure du répertoire de développement...)
 
Sinon en C t'as les structures de données qui permettent de bien maîtriser le langage et l'algorithmique. Ensuite tu peux essayer de faire une appli en utilisant GTK+ pour les interfaces (et pas que les interfaces), ça te permet de voir ton niveau de maîtrise du langage.)

Reply

Marsh Posté le 28-04-2010 à 09:44:02    

lassault1 a écrit :

Joel F toi aussi tu été un gros débutant... et tu serait content de trouver un site adapter au débutant !!!


Ce que Joël f veut te dire, c'est que le site du zéro est loin d'être une référence : dans son contenu, y'a beaucoup d'erreurs, approximations, mauvais conseils... C'est pas parce qu'il est très connu que ce qu'il dit de faire est forcément bon. Pour info, les cours dispensés par des profs en IUT ou en écoles d'ingé ne sont pas forcément mieux :/ Un bon nombre a appris le C par lui-même, donc mauvais habitudes (par ex, à propos de l'utilisation de scanf).
 
Vaut mieux acheter un gros bouquin de référence, là, y'a moins de mauvaises surprises...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 28-04-2010 à 10:34:42    

Gros bouquin ... encore faut voir hein :o
Pour apprendre les bases sur C (et non pas toutes les lib qu'il y a autour) le K&R est bien et on peut vraiment pas dire qu'il soit épais :bounce:


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 28-04-2010 à 12:27:53    

Sinon pour répondre à la question, il doit te manquer un include dans ton code.


---------------
deluser --remove-home ptitchep
Reply

Marsh Posté le 28-04-2010 à 13:06:12    

Merci il fallait mettre _WIN32..

 

J'ai crée 2 projets (sous code::block) Serveur et Client pour tester, mais pourquoi quand je compile c'est le 2eme projets (Client) qui s'exécute ?

 

Comment compilé le projets Serveur et Client l'un après l'autre?


Message édité par lassault1 le 28-04-2010 à 15:08:39
Reply

Marsh Posté le 28-04-2010 à 15:13:59    

Tu veux pas écouter ce qu'on te dit au lieu de continuer à faire n'importe quoi?


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 29-04-2010 à 14:48:14    

Merci j'ai trouvé...
 
Comment faire une connexion distante a partir d'un code source serveur et client ?
 
Y a t-il une personne qui peut jouer le rôle du client pour essayer une connexion distante en envoyant un petit message ?

Reply

Marsh Posté le 29-04-2010 à 14:53:37    

lassault1 a écrit :

Merci j'ai trouvé...
 
Comment faire une connexion distante a partir d'un code source serveur et client ?
 
Y a t-il une personne qui peut jouer le rôle du client pour essayer une connexion distante en envoyant un petit message ?


Tu lances le serveur dans une fenêtre de commande(l'invite de commande) et tu lances le client dans une autre fenêtre!

Reply

Marsh Posté le 29-04-2010 à 16:51:15    

oui mais c'est en local ça... moi je cherche a distance..

Reply

Marsh Posté le 29-04-2010 à 17:01:36    

Bien du courage à celles et ceux qui vont continuer à aider sur ce post, moi je jette l'éponge


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 29-04-2010 à 17:41:46    

lassault1 a écrit :

oui mais c'est en local ça... moi je cherche a distance..


 
Tu serais pas un peu boulet, toi, des fois :/ Tu peux parfaitement simuler un fonctionnement client/serveur sur un seul pc, en local donc. Pour t'en convaincre, regarde le soft WampServer ou Easyphp qui met en place un serveur web et qui permet à ton navigateur d'accéder aux sites que tu as créés dans le répertoire www de ce genre de soft. On a bien un serveur (apache) et un client (ton navigateur).
 
Ben là, c'est pareil. Tu peux créer un seul programme (exe) qui, suivant les paramètres donnés en entrée va se comporter en client ou serveur (dans le code, y'aura un fork). Le serveur écoute sur un port et répond sur un autre, et le client fait l'inverse mais sur les 2 mêmes ports.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 29-04-2010 à 17:45:10    

rufo ce que tu dis je l'ai déjà fait.. moi je veux faire une connexion a distance ( pas dans le meme PC)

Reply

Marsh Posté le 29-04-2010 à 17:55:27    

Envoies ton code, je vais le faire tourner ici.

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed