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

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Suivante
Auteur Sujet :

Apprendre le C, mais pk??

n°856163
bjone
Insert booze to continue
Posté le 23-09-2004 à 03:42:07  profilanswer
 

Reprise du message précédent :

FonzieV a écrit :

"Tu sais, même en admettant que le code C est plus rapide que le code C++ (ce que je ne crois pas être vrai), il n'en demeure pas moins vrai q'un programme rapide mais qui plante sans arrêt est moins utile qu'un programme qui marche."
Oui, ya pas de p, mais ça  dépends des besoins.
 
"c'est surtout un beau ramassis de conneries. "
http://fvring.free.digitartstudio. [...] ga&sub=mdd
(en bas, ya CHUCHUROCKET MD)
Ecoutes, j'ai fais cette ptit démo en utilisant:
QQ Pointeurs, tableau, if, else if, switch, case, else, defaut, break, while, for, >>,<<,++,-- (UNIQUEMENT) et il  tourne à  +160fps sur un 8mhz.
Donc il me semble que tu n'es pas en mesure de dire que je raconte des conneries, ******!
Je donne juste un conseil pour les gens qui aiment faire du travail relativement optimisé (qui savent où sont les données, qu'est-ce qui se passe réellement).
 
++
 
Fonzie


 
oui donc tu l'as fait en C classique, sans le faire ensuite en C++.
 
pour savoir se qu'il se passe réellement et faire du code optimisé, il faut d'abord coder en asm, puis étudier le code C ou C++ produit.
 
le C++ en lui-même n'impose généralement pas de surcoût palpable au niveau asm, tant que tu n'utilises pas les capacitées de polymorphisme du langage.
 
donc pris comme ça, ton post anti-C++ est plustôt un ramassi de conneries oui.

mood
Publicité
Posté le 23-09-2004 à 03:42:07  profilanswer
 

n°856199
cris56
Posté le 23-09-2004 à 08:52:19  profilanswer
 

Taz a écrit :

j'ai pas compris un seul mot


 
par exemple parcourir un tableau en incrementant un pointeur et acces par deferencement (pointer style) plutot que d'employé un index et l'operateur [] (array style)

n°856231
Lam's
Profil: bas.
Posté le 23-09-2004 à 09:47:19  profilanswer
 

cris56 a écrit :

par exemple parcourir un tableau en incrementant un pointeur et acces par deferencement (pointer style) plutot que d'employé un index et l'operateur [] (array style)


 
Bah, pour avoir désassemblé des tonnes et des tonnes de code au début des années 90 avec Watcom, VC++ 5 et même surtout sous le compilo Solaris (à l'époque où j'étais capable de lire du code RISC :) ), je peux te dire que la différence on la sentait passer entre:

Code :
  1. const char * p = 0xA0000;
  2. for (unsigned i=320*200; i; --i)
  3. {   *p++=0;
  4. }


et  

Code :
  1. const char * p = 0xA0000;
  2. for  (unsigned i=0; i<320*200; i++)
  3. {
  4.   p=0;
  5. }

 
 
Et ça, ça veut dire que la littérature classique, les vieux programmeurs,  ceux qui ont appris des vieux programmeurs, ainsi que ceux qui désassemblent le code en mode débug, tous ont un petit préjudice qui fait que l'on croit toujours que la 2ème solution va être plus lente...
 
D'autre part, il y a des choses un peu différentes entre les compilos C et C++. Par exemple, je compile la plupart de mes programmes C++ en multi-threaded, et du coup, la plupart des variables sont automatiquement considérées [i]volatile (vu que le mot-clé n'est plus utilisé en C++). Ca impacte forcément un tout petit chouia la performance de l'optimiseur.
 
Pour le reste, la plupart de ce que dit FonzieV, c'est effectivement des conneries. Les docs des compilos C et C++ sont assez précises sur les façons dont les choses sont organisées en mémoire, etc.

n°856260
Taz
bisounours-codeur
Posté le 23-09-2004 à 10:23:39  profilanswer
 

Lam's a écrit :

je peux te dire que la différence on la sentait passer entre:

Code :
  1. const char * p = 0xA0000;
  2. for (unsigned i=320*200; i; --i)
  3. {   *p++=0;
  4. }


et  

Code :
  1. const char * p = 0xA0000;
  2. for  (unsigned i=0; i<320*200; i++)
  3. {
  4.   p[i]=0;
  5. }

 

moi je vois surtout que t'as du manquer le cours sur le mot-clef 'const'
 
(et qu'avec un compilateur décent, c'est le même objet puisque c'est équivalent)


Message édité par Taz le 23-09-2004 à 10:25:34
n°856283
Lam's
Profil: bas.
Posté le 23-09-2004 à 10:46:22  profilanswer
 

Taz a écrit :

moi je vois surtout que t'as du manquer le cours sur le mot-clef 'const'
 
(et qu'avec un compilateur décent, c'est le même objet puisque c'est équivalent)


 
Hum, j'ai pas fait gaffe au const, j'ai perdu l'habitude d'utiliser des char* tiens.

n°856356
FonzieV
Posté le 23-09-2004 à 12:55:02  profilanswer
 

"non mais la tu parles de la mega drive, d'un compilo sans doute exotique, d'ailleur tes codes c'est du c k&r "
GCC, c de l'exotique?
 
"donc pris comme ça, ton post anti-C++ est plustôt un ramassi de conneries oui."
Anti C++, je réponds juste a l'autre qui dit que le C completement démodé et que ça sert plus a rien.
 
++
 
Fonzie


Message édité par FonzieV le 23-09-2004 à 13:15:37
n°856446
bjone
Insert booze to continue
Posté le 23-09-2004 à 14:51:38  profilanswer
 

ha oki. non le C n'est pas non plus démodé.
mais un bon compilateur C++ issu des mêmes personnes qu'un bon compilo C devrait produire quasiment le même code machine.
 
après si tu cherches les perfs à mort, tu n'est pas obligé de produire du C++ utilisant à mort toutes les capacitées du langage. pour les innerloops critiques, tu peux très bien utiliser toutes les magouilles que tu veux pour aller le plus vite comme en C, mais bon là ptet autant faire de l'assembleur.
 


Message édité par bjone le 23-09-2004 à 14:55:48
n°856529
Taz
bisounours-codeur
Posté le 23-09-2004 à 16:10:25  profilanswer
 

techniquement la majorité des compilateurs mixtes ont 2 partie avant, mais une seule partie arrière, le code est donc relativement identique

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
apprendre les principale commandes pour ecrire un vbsveux apprendre mai sai pas ou commencer (xml)
apprendre l'action script...Apprendre à programmer
Livre pour apprendre le xhtmlLivre pour apprendre le C++ et le GTK+
apprendre le vbaApprendre
quels bouquins pour apprendre le PHP[C] Cherche un tuto pour apprendre à faire des threads en C
Plus de sujets relatifs à : Apprendre le C, mais pk??


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