du C au C++ ?

du C au C++ ? - C++ - Programmation

Marsh Posté le 09-06-2005 à 20:52:00    

Bonjour à tous,
 
Voilà j'ai fait un petit jeu depuis quelques mois, or le code commence à taper dans les 3000 lignes, et malgrès une bonne séparation en fichiers, je commence à m'y perdre et je me demande si il ne vaut mieux pas le restructurer pour le faire en C++...
 
Mais j'ai une question, est-ce que je vais perdre en rapidité d'exécution (fps) en passant du C au C++ ?
 
 
Merci d'avance de vos réponses...
 
Florian.
 
 
PS : ma question est peut-être idiote, je n'ai que rarement programmé en C++...

Reply

Marsh Posté le 09-06-2005 à 20:52:00   

Reply

Marsh Posté le 09-06-2005 à 22:25:24    

Vu que le C et le C++ sont compatibles si tu restes sur une conception fonctionnelle, c'est plutôt une question de performance du compilo, et à mon avis, c'est du pareil au même. La question est plutôt au niveau de la conception : est-ce qu'une conception orientée objet (c++) te fera perdre des fps par rapport à une conception fonctionnelle (c) ? Amha je ne crois pas, mais c'est un gros boulot de reconcevoir tout ton programme en objet...

Reply

Marsh Posté le 09-06-2005 à 22:30:57    

90% des features du C++ sont gratuites (annonce à la louche hein), et pour la même suite de dev, le compilo C & C++ partagent le même code d'optimisation.
 
par contre si tu veux passer au C++, rezieute des cours et fais des expérimentations avec la STL...


Message édité par bjone le 09-06-2005 à 22:32:25
Reply

Marsh Posté le 09-06-2005 à 22:31:57    

sinon tous les jeux actuels sont écrits (>90%) en C++.

Reply

Marsh Posté le 09-06-2005 à 22:43:05    

bjone a écrit :

sinon tous les jeux actuels sont écrits (>90%) en C++.


tant que ça ? :ouch:

Reply

Marsh Posté le 09-06-2005 à 22:44:45    

J'aurais dis plus moi ; le C c'est plutôt réservé à la programmation système et aux systèmes embarqués de nos jours.

Reply

Marsh Posté le 10-06-2005 à 00:32:01    

Bon je pense que je vais un peu mieux me documenter sur le C++, pour voir si je peux refaire mon programme sans trop perdre de temps (et avant qu'il prenne trop d'ampleur)...
 
Merci à tous.

Reply

Marsh Posté le 10-06-2005 à 09:41:24    

Passer un gros truc qui marche bien du C en C++ c'est prendre le risque de tout bousiller, t'as intérêt à savoir ce que tu fait, il suffit pas de remplacer un mot par un autre...
Celà dit c'est vrai que les outils de la STL et les technologies objets sont utiles pour les jeux. Tu peux au moins recoder une partie...

Reply

Marsh Posté le 10-06-2005 à 09:46:54    

bah 3000lignes c'est pas exactement un gros truc

Reply

Marsh Posté le 10-06-2005 à 13:20:36    

ritzle a écrit :

tant que ça ? :ouch:


 
bin disons que le C++ bien utilisé est franchement super-appréciable face au C.
spour ça que si tu passes au C++, zieutes avant toutes les conneries qu'on peut faire avec les templates et la STL.
ça donne une bonne idée de ce que tu peux obtenir.
 
après ouai la grande partie des jeux actuels sont C++, avec du C ou de l'asm suivant les parties. (certaines libs sont toujours en C, genre fmod doit être probablement en C, de mémoire novodex est en C++, je regarde le sdk et les headers, etc, etc...)
 
avec du C++ bien chié, t'obtiens de super-bons résulats en clarté de code (si tu suppose que tout ce qui est collection templatisée est stable et que t'as pas besoin d'aller voir) et en vitesse d'éxécution.


Message édité par bjone le 10-06-2005 à 13:21:05
Reply

Marsh Posté le 10-06-2005 à 13:20:36   

Reply

Marsh Posté le 10-06-2005 à 14:56:21    

Bon j'ai commencé le recodage, et en effet comme le dit TotalRecall et cgo2, c'est quand même du boulot. L'avantage étant que le code C se compile (presque) très bien en C++, donc on peut y aller pas à pas en créant objets après objets...
 
bjone tu dis que certain jeu utilise du C++ et du C pour certaines parties. Ca m'interesserait mais au niveau de l'éditeur de lien ça se passe comment ? Avec 2 langages différents il risque pas de s'embrouiller ? (Il y a 2 versions du jeu : une sous Linux avec un makefile classique, et l'autre sous windows avec DevC++)

Reply

Marsh Posté le 10-06-2005 à 15:04:02    

stan walker a écrit :

bjone tu dis que certain jeu utilise du C++ et du C pour certaines parties. Ca m'interesserait mais au niveau de l'éditeur de lien ça se passe comment ? Avec 2 langages différents il risque pas de s'embrouiller ? (Il y a 2 versions du jeu : une sous Linux avec un makefile classique, et l'autre sous windows avec DevC++)


 
En fait tu utiliseras le même compilo (g++) que ce soit du C ou du C++. Ce qu'il appelle "du C" c'est à mon avis des bouts de code procédural (donc pas objet)

Reply

Marsh Posté le 10-06-2005 à 15:36:32    

commence par fair ton analyse en UML avant de te lancé , puis code classe et méthode et enfin rempli té methodeavec ton code C


---------------
si un jour on te reproche que ton travail n'est pas celui d'un professionel . dit toi bien que se sont des professionels qui on construit le titanic et des amateurs l'arche de noë...
Reply

Marsh Posté le 10-06-2005 à 18:13:43    

En effet je me suis lancé peut etre un peu trop a la bourrin, ca devient la lutte, je vais faire un petit graph UML pour essayer de m'y retrouver... ca finit toujours par marcher ;)
 
merci à tous.

Reply

Marsh Posté le 10-06-2005 à 19:24:57    

bjone a écrit :

bin disons que le C++ bien utilisé est franchement super-appréciable face au C.
spour ça que si tu passes au C++, zieutes avant toutes les conneries qu'on peut faire avec les templates et la STL.
ça donne une bonne idée de ce que tu peux obtenir.
 
après ouai la grande partie des jeux actuels sont C++, avec du C ou de l'asm suivant les parties. (certaines libs sont toujours en C, genre fmod doit être probablement en C, de mémoire novodex est en C++, je regarde le sdk et les headers, etc, etc...)
 
avec du C++ bien chié, t'obtiens de super-bons résulats en clarté de code (si tu suppose que tout ce qui est collection templatisée est stable et que t'as pas besoin d'aller voir) et en vitesse d'éxécution.


 
y'a des compilos qui ont des linkers qui peuvent linker du C/C++ (heureusement lol), du fortran, du chépas quoi dumoment que tu connais la convention d'appel.

Reply

Marsh Posté le 10-06-2005 à 19:39:50    

bjone a écrit :

y'a des compilos qui ont des linkers qui peuvent linker du C/C++ (heureusement lol), du fortran, du chépas quoi dumoment que tu connais la convention d'appel.


 
(+ le name mangling [:greenleaf])


---------------
NP: HTTP Error 764 Stupid coder found
Reply

Marsh Posté le 10-06-2005 à 22:28:08    

oué :D

Reply

Sujets relatifs:

Leave a Replay

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