Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3942 connectés 

 


Dernière réponse
Sujet : C ou C++?
LeGreg Non le C++ n'est pas plus lent que le C.
 
Non le compilateur ne traduit pas le C++ en C (?peut etre les premiers compilos C++ mais apres c'est une idee incongrue?)
 
Non l'objet n'est pas plus lent que le procedural.
 
Oui certaines abstractions apportees par le C++ induisent un cout. (au hasard: heritage, fonctions virtuelles, operateur ++ postfixe, etc..). Mais elles viennent avec un gain pour le programmeur qui met en place plus facilement des solutions qu'il n'aurait pas pu mettre en oeuvre en procedural. (une fonction virtuelle est souvent mieux qu'un switch).
 
Oui il est possible d'inliner de l'ASM dans du code C++
 
Oui il est possible d'ecrire des jeux en C++. De plus en plus de jeux le sont et les API cross platforms supportent toutes le C++ (peut-etre Renderware a encore un Core en C). Certains utilisent meme des langages encore plus high level.
 
Donc C/C++ faux debat. j'ai plutot l'impression que le pur C est demode.
 
A+
LEGREG

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
LeGreg Non le C++ n'est pas plus lent que le C.
 
Non le compilateur ne traduit pas le C++ en C (?peut etre les premiers compilos C++ mais apres c'est une idee incongrue?)
 
Non l'objet n'est pas plus lent que le procedural.
 
Oui certaines abstractions apportees par le C++ induisent un cout. (au hasard: heritage, fonctions virtuelles, operateur ++ postfixe, etc..). Mais elles viennent avec un gain pour le programmeur qui met en place plus facilement des solutions qu'il n'aurait pas pu mettre en oeuvre en procedural. (une fonction virtuelle est souvent mieux qu'un switch).
 
Oui il est possible d'inliner de l'ASM dans du code C++
 
Oui il est possible d'ecrire des jeux en C++. De plus en plus de jeux le sont et les API cross platforms supportent toutes le C++ (peut-etre Renderware a encore un Core en C). Certains utilisent meme des langages encore plus high level.
 
Donc C/C++ faux debat. j'ai plutot l'impression que le pur C est demode.
 
A+
LEGREG
BENB

n0mad a écrit a écrit :

 
 
Sur le papier, C est plus rapide que C++. En pratique, les performances d'un jeu sont bien plus dépendantes de la manière dont c'est programmé (et des optim) que de la différence C/C++.  
 
L'avantage du C++ permet de faire du code plus réutilisable/structuré/clair.  
Quel API graphique veux tu utiliser ? Par exemple, le C++ est plus adapté avec DirectX.  




non le C++ est traduit par le compilo en C. Donc dire que le C est plus rapide est faux...
ce qui est plus lent c'est la conception meme du projet...
L'objet induit des copies qui ralentissent l'execution... Mais ces copies ne sont pas obligatoires, mais il faut savoir les eviter...
Le C++ fournit des outils comme les fonctions inlines qui font gagner beaucoup de temps par exemple... plus sures que des macros, et presque aussi rapides...

Nospher Ok, merci a tous pour vos reponses.
246tNt Si on regarde les sources des vrai jeux, souvent c'est un melange des deux.
 
On utilise plus le C++ pour decrire le fonctionnement du jeux, les interactions entre elles etc ...
 
Par contre pour le moteur de jeux, ce qui se trouve au plus bas, on utilise plutot le C
sombresonge C++ Mieux pour travailler en équipe
C Mieux pour bidouiller à la maison
 
Pour faire de la vraix programation objet faut pas mal planifié son travaille avant de mettre les main dans le cambouis et écrire le code.
n0mad

nospher a écrit a écrit :

Ma question concerne la programmation de jeux en temps réel.
 
Je vois beaucoup de sources qui sont écrits en C.
Je voudrais savoir si il est préférable d'écrire ce genre de programmes en C que en C++.
Les accès aux classes du C++ sont ils plus lents que les accès à de simples structures?  




 
Sur le papier, C est plus rapide que C++. En pratique, les performances d'un jeu sont bien plus dépendantes de la manière dont c'est programmé (et des optim) que de la différence C/C++.  
 
L'avantage du C++ permet de faire du code plus réutilisable/structuré/clair.  
Quel API graphique veux tu utiliser ? Par exemple, le C++ est plus adapté avec DirectX.

deathsharp Doom 3 sera bien en temps reel nan? :sarcastic:
la viper j'suis pas spécialiste des jeux en temps reel en C/C++, mais il me semble que le C est plus approprié à cette tache.
 
L'avantage du C++ est la possibilité de faire du langage objet, hors, ce n'est peu etre pas ce que tu recherches au niveau d'un jeu video. Si par exemple du veux ajouter de l'assembleur, ca se ferra surement plus simplement (dans la logique d'ecriture en C qu'en C++) meme si c'est la meme chose au final.
 
Enfin, c'est ce que je pense, et j'suis pas un expert.
Moriaben j'apprends un peu le C++ en école d'ingénieur et bon d'après ce que dis le prof, le C++ apporte une facilité d'écriture dans certains domaines (notamment les pointeurs)
donc autant utiliser directement le C++ !
BENB

nospher a écrit a écrit :

Ma question concerne la programmation de jeux en temps réel.
 
Je vois beaucoup de sources qui sont écrits en C.
Je voudrais savoir si il est préférable d'écrire ce genre de programmes en C que en C++.
Les accès aux classes du C++ sont ils plus lents que les accès à de simples structures?  




non mais certains mecanismes du C++ (copies d'objets) peuvent ralentir des appli mal ecrites...
Il faut savoir que tout code C++ peut etre ecrit en C (au prix de bcp de travail).

Nospher Ma question concerne la programmation de jeux en temps réel.
 
Je vois beaucoup de sources qui sont écrits en C.
Je voudrais savoir si il est préférable d'écrire ce genre de programmes en C que en C++.
Les accès aux classes du C++ sont ils plus lents que les accès à de simples structures?

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)