j'ai entendu que les jeux videos de nos jours, sont toujours concu en c
et non en c++,
ma quesiton est POUrquoi??, le c++ a quand meme beaucoup plus d'avantage
que le c non
merci
Ps: ceci n'est pas un troll; je suis en premiere année informatique, et
je commence a apprendre le c++, et les differences du c, et etant
passionné de jeu (c'est la dedans que j'aimerais travailler) je me
posait cette question
"Chewee" a écrit dans le message de news:blrvvd$2fp$
Cyrille Karmann wrote:
Chewee disait...
Le C est plutôt utilisé sur PS2. Les moteurs les plus performants sont écrits en C, c'est un fait.
Nan. John Carmack (Quake, Doom) programme en C, mais sinon, je ne connais pas d'autre jeu connu pour avoir été faits en C pur.
J'ai parlé de PS2, à ce que je sache John Carmack n'a jamais codé sur PS2...
Tu as parlé *et* de PS2 *et* des moteurs les plus performants. Si tu ne parlais que des moteurs performants sur PS2, alors tes phrases sont mal formées ;)
Chris
"Chewee" <chewee@NOSPAMchewee.net> a écrit dans le message de
news:blrvvd$2fp$1@news6.isdnet.net...
Cyrille Karmann wrote:
Chewee disait...
Le C est plutôt utilisé sur PS2.
Les moteurs les plus performants sont écrits en C, c'est un fait.
Nan. John Carmack (Quake, Doom) programme en C, mais sinon, je ne
connais pas d'autre jeu connu pour avoir été faits en C pur.
J'ai parlé de PS2, à ce que je sache John Carmack n'a jamais codé sur
PS2...
Tu as parlé *et* de PS2 *et* des moteurs les plus performants. Si tu ne
parlais que des moteurs performants sur PS2, alors tes phrases sont mal
formées ;)
"Chewee" a écrit dans le message de news:blrvvd$2fp$
Cyrille Karmann wrote:
Chewee disait...
Le C est plutôt utilisé sur PS2. Les moteurs les plus performants sont écrits en C, c'est un fait.
Nan. John Carmack (Quake, Doom) programme en C, mais sinon, je ne connais pas d'autre jeu connu pour avoir été faits en C pur.
J'ai parlé de PS2, à ce que je sache John Carmack n'a jamais codé sur PS2...
Tu as parlé *et* de PS2 *et* des moteurs les plus performants. Si tu ne parlais que des moteurs performants sur PS2, alors tes phrases sont mal formées ;)
Chris
Marc Boyer
Cyrille Karmann wrote:
Marc Boyer disait...
Tout comme en activant le rtti vous allez avoir votre executable grossire d'une facon importante.
Oui, mais pourquoi activer le rtti ?
Pour rien.
Le rtti est très souvent activé par défaut sur les compilateurs. Et le programmeur débutant qui apprendra bien plus tard ce qu'est le rtti se retrouve sans comprendre pourquoi avec un exécutable faisant "Hello, World!" qui est cinquante fois plus gros que son équivalent en C.
Voui. Mauvais compilateur.
Je crois que c'est un peu là le problème: il y a dans C++ un certains nombres de pièges à performances qu'on apprend à éviter mais dans lequel tombe systématiquement le programmeur débutant. Il en ressort alors avec l'impression fausse que "le C++ c'est plus lent".
Mais il ne faut mieux avec le C que parce qu'il est bon en C ;-)
Par exemple, quelqu'un qui veut faire un moteur 3D fera peut-être une classe Vector pour représenter les vecteurs. Intuitivement, il fera quelque chose comme ceci pour les opérations mathématiques:
Cette implémentation comporte un piège: la création d'un objet temporaire qui va être créé et détruit et donc entrainer une perte de temps. Si ensuite il écrit une ligne du genre:
Vector ret = a+b+c+d;
3 objets temporaires seront construits et détruits et prendront de la ressource cpu. L'optimisation du compilateur n'y change pas grand chose, surtout si les fonctions ne sont pas inline.
Heuh, il me semble qu'on a écrit foultitude d'articles sur l'optimisation de la return value. Mais je veux bien entendre qu'il existe encore des compilateurs de niche qui ne l'implémentent pas.
L'alternative la plus simple est alors d'écrire: void AdditionneVecteurs(Vector *out, Vector const *in1, Vector const *in2); (ou l'équivalent avec des références à la place des pointeurs. Ca change rien)
Mais ça c'est du pur C. Conclusion rapide: le C est plus rapide que le C++. Or en fait la bonne conclusion devrait être: le bon C est plus rapide que le mauvais C++. Le fait que beaucoup de programmeurs ayant à peine touché le C++ fasse l'amalgame est à mon avis une cause de cette mauvaise réputation du C++ pour les jeux.
Disons qu'un bon programmeur C code un résultat plus performant qu'un mauvais programmeur C++, qu'un bon compilateur C est plus efficace qu'un mauvais compilateur C++, et qu'une bonne bibliothèque C est plus efficace qu'une mauvaise. Oui, c'est le problème éternel de la base installée.
Marc Boyer -- Lying for having sex or lying for making war? Trust US presidents :-(
Cyrille Karmann wrote:
Marc Boyer disait...
Tout comme en activant le rtti
vous allez avoir votre executable grossire d'une facon importante.
Oui, mais pourquoi activer le rtti ?
Pour rien.
Le rtti est très souvent activé par défaut sur les compilateurs. Et le
programmeur débutant qui apprendra bien plus tard ce qu'est le rtti se
retrouve sans comprendre pourquoi avec un exécutable faisant "Hello,
World!" qui est cinquante fois plus gros que son équivalent en C.
Voui. Mauvais compilateur.
Je crois que c'est un peu là le problème: il y a dans C++ un certains
nombres de pièges à performances qu'on apprend à éviter mais dans lequel
tombe systématiquement le programmeur débutant. Il en ressort alors avec
l'impression fausse que "le C++ c'est plus lent".
Mais il ne faut mieux avec le C que parce qu'il est bon en C ;-)
Par exemple, quelqu'un qui veut faire un moteur 3D fera peut-être une
classe Vector pour représenter les vecteurs. Intuitivement, il fera
quelque chose comme ceci pour les opérations mathématiques:
Cette implémentation comporte un piège: la création d'un objet
temporaire qui va être créé et détruit et donc entrainer une perte de
temps. Si ensuite il écrit une ligne du genre:
Vector ret = a+b+c+d;
3 objets temporaires seront construits et détruits et prendront de la
ressource cpu. L'optimisation du compilateur n'y change pas grand chose,
surtout si les fonctions ne sont pas inline.
Heuh, il me semble qu'on a écrit foultitude d'articles
sur l'optimisation de la return value.
Mais je veux bien entendre qu'il existe encore des
compilateurs de niche qui ne l'implémentent pas.
L'alternative la plus simple est alors d'écrire:
void AdditionneVecteurs(Vector *out, Vector const *in1, Vector const
*in2);
(ou l'équivalent avec des références à la place des pointeurs. Ca change
rien)
Mais ça c'est du pur C. Conclusion rapide: le C est plus rapide que le
C++. Or en fait la bonne conclusion devrait être: le bon C est plus
rapide que le mauvais C++. Le fait que beaucoup de programmeurs ayant à
peine touché le C++ fasse l'amalgame est à mon avis une cause de cette
mauvaise réputation du C++ pour les jeux.
Disons qu'un bon programmeur C code un résultat plus performant
qu'un mauvais programmeur C++, qu'un bon compilateur C est plus
efficace qu'un mauvais compilateur C++, et qu'une bonne bibliothèque
C est plus efficace qu'une mauvaise. Oui, c'est le problème éternel
de la base installée.
Marc Boyer
--
Lying for having sex or lying for making war? Trust US presidents :-(
Tout comme en activant le rtti vous allez avoir votre executable grossire d'une facon importante.
Oui, mais pourquoi activer le rtti ?
Pour rien.
Le rtti est très souvent activé par défaut sur les compilateurs. Et le programmeur débutant qui apprendra bien plus tard ce qu'est le rtti se retrouve sans comprendre pourquoi avec un exécutable faisant "Hello, World!" qui est cinquante fois plus gros que son équivalent en C.
Voui. Mauvais compilateur.
Je crois que c'est un peu là le problème: il y a dans C++ un certains nombres de pièges à performances qu'on apprend à éviter mais dans lequel tombe systématiquement le programmeur débutant. Il en ressort alors avec l'impression fausse que "le C++ c'est plus lent".
Mais il ne faut mieux avec le C que parce qu'il est bon en C ;-)
Par exemple, quelqu'un qui veut faire un moteur 3D fera peut-être une classe Vector pour représenter les vecteurs. Intuitivement, il fera quelque chose comme ceci pour les opérations mathématiques:
Cette implémentation comporte un piège: la création d'un objet temporaire qui va être créé et détruit et donc entrainer une perte de temps. Si ensuite il écrit une ligne du genre:
Vector ret = a+b+c+d;
3 objets temporaires seront construits et détruits et prendront de la ressource cpu. L'optimisation du compilateur n'y change pas grand chose, surtout si les fonctions ne sont pas inline.
Heuh, il me semble qu'on a écrit foultitude d'articles sur l'optimisation de la return value. Mais je veux bien entendre qu'il existe encore des compilateurs de niche qui ne l'implémentent pas.
L'alternative la plus simple est alors d'écrire: void AdditionneVecteurs(Vector *out, Vector const *in1, Vector const *in2); (ou l'équivalent avec des références à la place des pointeurs. Ca change rien)
Mais ça c'est du pur C. Conclusion rapide: le C est plus rapide que le C++. Or en fait la bonne conclusion devrait être: le bon C est plus rapide que le mauvais C++. Le fait que beaucoup de programmeurs ayant à peine touché le C++ fasse l'amalgame est à mon avis une cause de cette mauvaise réputation du C++ pour les jeux.
Disons qu'un bon programmeur C code un résultat plus performant qu'un mauvais programmeur C++, qu'un bon compilateur C est plus efficace qu'un mauvais compilateur C++, et qu'une bonne bibliothèque C est plus efficace qu'une mauvaise. Oui, c'est le problème éternel de la base installée.
Marc Boyer -- Lying for having sex or lying for making war? Trust US presidents :-(
Christophe Lephay
"Cyrille Karmann" a écrit dans le message de news:
Le rtti est très souvent activé par défaut sur les compilateurs. Et le programmeur débutant qui apprendra bien plus tard ce qu'est le rtti se retrouve sans comprendre pourquoi avec un exécutable faisant "Hello, World!" qui est cinquante fois plus gros que son équivalent en C.
Je crois que c'est un peu là le problème: il y a dans C++ un certains nombres de pièges à performances qu'on apprend à éviter mais dans lequel tombe systématiquement le programmeur débutant. Il en ressort alors avec l'impression fausse que "le C++ c'est plus lent".
Par exemple, quelqu'un qui veut faire un moteur 3D fera peut-être une classe Vector pour représenter les vecteurs. Intuitivement, il fera quelque chose comme ceci pour les opérations mathématiques:
Intuitivement, j'attendrais de quelqu'un qui veut faire un moteur 3D utilise un langage qu'il connait bien...
Cette implémentation comporte un piège: la création d'un objet temporaire qui va être créé et détruit et donc entrainer une perte de temps. Si ensuite il écrit une ligne du genre:
Vector ret = a+b+c+d;
3 objets temporaires seront construits et détruits et prendront de la ressource cpu. L'optimisation du compilateur n'y change pas grand chose, surtout si les fonctions ne sont pas inline.
L'optimisation du compilateur n'y change pas grand chose peut-être, si ce n'est d'éviter la création de ces temporaires...
L'alternative la plus simple est alors d'écrire: void AdditionneVecteurs(Vector *out, Vector const *in1, Vector const *in2); (ou l'équivalent avec des références à la place des pointeurs. Ca change rien)
Ce qui change, c'est que la signature devient illisible, que tu vas soit devoir déréférencer tes objets systématiquement pour les transmettre à la fonction, soit (plus probablement hélas) utiliser des pointeur partout dans ton code...
Mais ça c'est du pur C. Conclusion rapide: le C est plus rapide que le C++. Or en fait la bonne conclusion devrait être: le bon C est plus rapide que le mauvais C++. Le fait que beaucoup de programmeurs ayant à peine touché le C++ fasse l'amalgame est à mon avis une cause de cette mauvaise réputation du C++ pour les jeux.
Ta conclusion est juste bien que tes postulats soient faux (que le second code est plus rapide que le premier)...
Chris
"Cyrille Karmann" <cyrille@frsf.org> a écrit dans le message de
news:GFr.19eba3c97b5a5e6b989962@news.free.fr...
Le rtti est très souvent activé par défaut sur les compilateurs. Et le
programmeur débutant qui apprendra bien plus tard ce qu'est le rtti se
retrouve sans comprendre pourquoi avec un exécutable faisant "Hello,
World!" qui est cinquante fois plus gros que son équivalent en C.
Je crois que c'est un peu là le problème: il y a dans C++ un certains
nombres de pièges à performances qu'on apprend à éviter mais dans lequel
tombe systématiquement le programmeur débutant. Il en ressort alors avec
l'impression fausse que "le C++ c'est plus lent".
Par exemple, quelqu'un qui veut faire un moteur 3D fera peut-être une
classe Vector pour représenter les vecteurs. Intuitivement, il fera
quelque chose comme ceci pour les opérations mathématiques:
Intuitivement, j'attendrais de quelqu'un qui veut faire un moteur 3D utilise
un langage qu'il connait bien...
Cette implémentation comporte un piège: la création d'un objet
temporaire qui va être créé et détruit et donc entrainer une perte de
temps. Si ensuite il écrit une ligne du genre:
Vector ret = a+b+c+d;
3 objets temporaires seront construits et détruits et prendront de la
ressource cpu. L'optimisation du compilateur n'y change pas grand chose,
surtout si les fonctions ne sont pas inline.
L'optimisation du compilateur n'y change pas grand chose peut-être, si ce
n'est d'éviter la création de ces temporaires...
L'alternative la plus simple est alors d'écrire:
void AdditionneVecteurs(Vector *out, Vector const *in1, Vector const
*in2);
(ou l'équivalent avec des références à la place des pointeurs. Ca change
rien)
Ce qui change, c'est que la signature devient illisible, que tu vas soit
devoir déréférencer tes objets systématiquement pour les transmettre à la
fonction, soit (plus probablement hélas) utiliser des pointeur partout dans
ton code...
Mais ça c'est du pur C. Conclusion rapide: le C est plus rapide que le
C++. Or en fait la bonne conclusion devrait être: le bon C est plus
rapide que le mauvais C++. Le fait que beaucoup de programmeurs ayant à
peine touché le C++ fasse l'amalgame est à mon avis une cause de cette
mauvaise réputation du C++ pour les jeux.
Ta conclusion est juste bien que tes postulats soient faux (que le second
code est plus rapide que le premier)...
"Cyrille Karmann" a écrit dans le message de news:
Le rtti est très souvent activé par défaut sur les compilateurs. Et le programmeur débutant qui apprendra bien plus tard ce qu'est le rtti se retrouve sans comprendre pourquoi avec un exécutable faisant "Hello, World!" qui est cinquante fois plus gros que son équivalent en C.
Je crois que c'est un peu là le problème: il y a dans C++ un certains nombres de pièges à performances qu'on apprend à éviter mais dans lequel tombe systématiquement le programmeur débutant. Il en ressort alors avec l'impression fausse que "le C++ c'est plus lent".
Par exemple, quelqu'un qui veut faire un moteur 3D fera peut-être une classe Vector pour représenter les vecteurs. Intuitivement, il fera quelque chose comme ceci pour les opérations mathématiques:
Intuitivement, j'attendrais de quelqu'un qui veut faire un moteur 3D utilise un langage qu'il connait bien...
Cette implémentation comporte un piège: la création d'un objet temporaire qui va être créé et détruit et donc entrainer une perte de temps. Si ensuite il écrit une ligne du genre:
Vector ret = a+b+c+d;
3 objets temporaires seront construits et détruits et prendront de la ressource cpu. L'optimisation du compilateur n'y change pas grand chose, surtout si les fonctions ne sont pas inline.
L'optimisation du compilateur n'y change pas grand chose peut-être, si ce n'est d'éviter la création de ces temporaires...
L'alternative la plus simple est alors d'écrire: void AdditionneVecteurs(Vector *out, Vector const *in1, Vector const *in2); (ou l'équivalent avec des références à la place des pointeurs. Ca change rien)
Ce qui change, c'est que la signature devient illisible, que tu vas soit devoir déréférencer tes objets systématiquement pour les transmettre à la fonction, soit (plus probablement hélas) utiliser des pointeur partout dans ton code...
Mais ça c'est du pur C. Conclusion rapide: le C est plus rapide que le C++. Or en fait la bonne conclusion devrait être: le bon C est plus rapide que le mauvais C++. Le fait que beaucoup de programmeurs ayant à peine touché le C++ fasse l'amalgame est à mon avis une cause de cette mauvaise réputation du C++ pour les jeux.
Ta conclusion est juste bien que tes postulats soient faux (que le second code est plus rapide que le premier)...
Chris
Chewee
Christophe Lephay wrote:
ne parlais que des moteurs performants sur PS2, alors tes phrases sont mal formées ;)
Chris
Oui, je l'admet, mes deux phrases étaient mal formulées... au temps pour moi. Vous l'aurez compris, je voulais dire que les moteurs PS2 les plus performants etait écris en C et pas en C++.
Christophe Lephay wrote:
ne parlais que des moteurs performants sur PS2, alors tes phrases
sont mal formées ;)
Chris
Oui, je l'admet, mes deux phrases étaient mal formulées... au temps pour
moi.
Vous l'aurez compris, je voulais dire que les moteurs PS2 les plus
performants etait écris en C et pas en C++.
ne parlais que des moteurs performants sur PS2, alors tes phrases sont mal formées ;)
Chris
Oui, je l'admet, mes deux phrases étaient mal formulées... au temps pour moi. Vous l'aurez compris, je voulais dire que les moteurs PS2 les plus performants etait écris en C et pas en C++.
Gabriel Dos Reis
Marc Boyer writes:
| Cyrille Karmann wrote: | > Marc Boyer disait... | >> | >> > Tout comme en activant le rtti | >> > vous allez avoir votre executable grossire d'une facon importante. | >> | >> Oui, mais pourquoi activer le rtti ? | > | > Pour rien. | > | > Le rtti est très souvent activé par défaut sur les compilateurs. Et le | > programmeur débutant qui apprendra bien plus tard ce qu'est le rtti se | > retrouve sans comprendre pourquoi avec un exécutable faisant "Hello, | > World!" qui est cinquante fois plus gros que son équivalent en C. | | Voui. Mauvais compilateur.
Pour quelles raisons ?
-- Gaby
Marc Boyer <Marc.Boyer@enseeiht.yahoo.fr> writes:
| Cyrille Karmann wrote:
| > Marc Boyer disait...
| >>
| >> > Tout comme en activant le rtti
| >> > vous allez avoir votre executable grossire d'une facon importante.
| >>
| >> Oui, mais pourquoi activer le rtti ?
| >
| > Pour rien.
| >
| > Le rtti est très souvent activé par défaut sur les compilateurs. Et le
| > programmeur débutant qui apprendra bien plus tard ce qu'est le rtti se
| > retrouve sans comprendre pourquoi avec un exécutable faisant "Hello,
| > World!" qui est cinquante fois plus gros que son équivalent en C.
|
| Voui. Mauvais compilateur.
| Cyrille Karmann wrote: | > Marc Boyer disait... | >> | >> > Tout comme en activant le rtti | >> > vous allez avoir votre executable grossire d'une facon importante. | >> | >> Oui, mais pourquoi activer le rtti ? | > | > Pour rien. | > | > Le rtti est très souvent activé par défaut sur les compilateurs. Et le | > programmeur débutant qui apprendra bien plus tard ce qu'est le rtti se | > retrouve sans comprendre pourquoi avec un exécutable faisant "Hello, | > World!" qui est cinquante fois plus gros que son équivalent en C. | | Voui. Mauvais compilateur.
Pour quelles raisons ?
-- Gaby
Marc Boyer
Gabriel Dos Reis wrote:
Marc Boyer writes: | Cyrille Karmann wrote: | >> Oui, mais pourquoi activer le rtti ? | > | > Pour rien. | > | > Le rtti est très souvent activé par défaut sur les compilateurs. Et le | > programmeur débutant qui apprendra bien plus tard ce qu'est le rtti se | > retrouve sans comprendre pourquoi avec un exécutable faisant "Hello, | > World!" qui est cinquante fois plus gros que son équivalent en C. | | Voui. Mauvais compilateur.
Pour quelles raisons ?
Parce qu'il consomme des ressources pour un mécanisme dont on a pas besoin. "What you don't use, you don't pay for" (DnE, $4.5, p121). Si on a pas besoin du rtti, ne devrait-on pas ne pas payer le cout (ici en taille d'exécutable) ? Non ?
Marc Boyer -- Lying for having sex or lying for making war? Trust US presidents :-(
Gabriel Dos Reis wrote:
Marc Boyer <Marc.Boyer@enseeiht.yahoo.fr> writes:
| Cyrille Karmann wrote:
| >> Oui, mais pourquoi activer le rtti ?
| >
| > Pour rien.
| >
| > Le rtti est très souvent activé par défaut sur les compilateurs. Et le
| > programmeur débutant qui apprendra bien plus tard ce qu'est le rtti se
| > retrouve sans comprendre pourquoi avec un exécutable faisant "Hello,
| > World!" qui est cinquante fois plus gros que son équivalent en C.
|
| Voui. Mauvais compilateur.
Pour quelles raisons ?
Parce qu'il consomme des ressources pour un mécanisme dont
on a pas besoin. "What you don't use, you don't pay for"
(DnE, $4.5, p121). Si on a pas besoin du rtti, ne devrait-on
pas ne pas payer le cout (ici en taille d'exécutable) ?
Non ?
Marc Boyer
--
Lying for having sex or lying for making war? Trust US presidents :-(
Marc Boyer writes: | Cyrille Karmann wrote: | >> Oui, mais pourquoi activer le rtti ? | > | > Pour rien. | > | > Le rtti est très souvent activé par défaut sur les compilateurs. Et le | > programmeur débutant qui apprendra bien plus tard ce qu'est le rtti se | > retrouve sans comprendre pourquoi avec un exécutable faisant "Hello, | > World!" qui est cinquante fois plus gros que son équivalent en C. | | Voui. Mauvais compilateur.
Pour quelles raisons ?
Parce qu'il consomme des ressources pour un mécanisme dont on a pas besoin. "What you don't use, you don't pay for" (DnE, $4.5, p121). Si on a pas besoin du rtti, ne devrait-on pas ne pas payer le cout (ici en taille d'exécutable) ? Non ?
Marc Boyer -- Lying for having sex or lying for making war? Trust US presidents :-(
Gabriel Dos Reis
Marc Boyer writes:
| Gabriel Dos Reis wrote: | > Marc Boyer writes: | >| Cyrille Karmann wrote: | >| >> Oui, mais pourquoi activer le rtti ? | >| > | >| > Pour rien. | >| > | >| > Le rtti est très souvent activé par défaut sur les compilateurs. Et le | >| > programmeur débutant qui apprendra bien plus tard ce qu'est le rtti se | >| > retrouve sans comprendre pourquoi avec un exécutable faisant "Hello, | >| > World!" qui est cinquante fois plus gros que son équivalent en C. | >| | >| Voui. Mauvais compilateur. | > | > Pour quelles raisons ? | | Parce qu'il consomme des ressources pour un mécanisme dont | on a pas besoin. "What you don't use, you don't pay for" | (DnE, $4.5, p121). Si on a pas besoin du rtti, ne devrait-on | pas ne pas payer le cout (ici en taille d'exécutable) ? | Non ?
Comment peux-tu déterminer que tu n'utilises pas la RTTI ?
-- Gaby
Marc Boyer <Marc.Boyer@enseeiht.yahoo.fr> writes:
| Gabriel Dos Reis wrote:
| > Marc Boyer <Marc.Boyer@enseeiht.yahoo.fr> writes:
| >| Cyrille Karmann wrote:
| >| >> Oui, mais pourquoi activer le rtti ?
| >| >
| >| > Pour rien.
| >| >
| >| > Le rtti est très souvent activé par défaut sur les compilateurs. Et le
| >| > programmeur débutant qui apprendra bien plus tard ce qu'est le rtti se
| >| > retrouve sans comprendre pourquoi avec un exécutable faisant "Hello,
| >| > World!" qui est cinquante fois plus gros que son équivalent en C.
| >|
| >| Voui. Mauvais compilateur.
| >
| > Pour quelles raisons ?
|
| Parce qu'il consomme des ressources pour un mécanisme dont
| on a pas besoin. "What you don't use, you don't pay for"
| (DnE, $4.5, p121). Si on a pas besoin du rtti, ne devrait-on
| pas ne pas payer le cout (ici en taille d'exécutable) ?
| Non ?
Comment peux-tu déterminer que tu n'utilises pas la RTTI ?
| Gabriel Dos Reis wrote: | > Marc Boyer writes: | >| Cyrille Karmann wrote: | >| >> Oui, mais pourquoi activer le rtti ? | >| > | >| > Pour rien. | >| > | >| > Le rtti est très souvent activé par défaut sur les compilateurs. Et le | >| > programmeur débutant qui apprendra bien plus tard ce qu'est le rtti se | >| > retrouve sans comprendre pourquoi avec un exécutable faisant "Hello, | >| > World!" qui est cinquante fois plus gros que son équivalent en C. | >| | >| Voui. Mauvais compilateur. | > | > Pour quelles raisons ? | | Parce qu'il consomme des ressources pour un mécanisme dont | on a pas besoin. "What you don't use, you don't pay for" | (DnE, $4.5, p121). Si on a pas besoin du rtti, ne devrait-on | pas ne pas payer le cout (ici en taille d'exécutable) ? | Non ?
Comment peux-tu déterminer que tu n'utilises pas la RTTI ?
-- Gaby
Cyrille Karmann
Fred disait...
"Cyrille Karmann" a écrit dans le message de news:
L'alternative la plus simple est alors d'écrire: void AdditionneVecteurs(Vector *out, Vector const *in1, Vector const *in2); (ou l'équivalent avec des références à la place des pointeurs. Ca change rien)
const est un mot cle C?
Aux dernières nouvelles, c'est un mot clé de C.
-- Cyrille
Fred disait...
"Cyrille Karmann" <cyrille@frsf.org> a écrit dans le message de news:
GFr.19eba3c97b5a5e6b989962@news.free.fr...
L'alternative la plus simple est alors d'écrire:
void AdditionneVecteurs(Vector *out, Vector const *in1, Vector const
*in2);
(ou l'équivalent avec des références à la place des pointeurs. Ca change
rien)
"Cyrille Karmann" a écrit dans le message de news:
L'alternative la plus simple est alors d'écrire: void AdditionneVecteurs(Vector *out, Vector const *in1, Vector const *in2); (ou l'équivalent avec des références à la place des pointeurs. Ca change rien)
const est un mot cle C?
Aux dernières nouvelles, c'est un mot clé de C.
-- Cyrille
Marc Boyer
Gabriel Dos Reis wrote:
Marc Boyer writes:
| Parce qu'il consomme des ressources pour un mécanisme dont | on a pas besoin. "What you don't use, you don't pay for" | (DnE, $4.5, p121). Si on a pas besoin du rtti, ne devrait-on | pas ne pas payer le cout (ici en taille d'exécutable) ? | Non ?
Comment peux-tu déterminer que tu n'utilises pas la RTTI ?
Parce que le programme compile et fonctionne correctement sans l'activation de la RTTI ? Non, il doit y avoir un truc qui m'échappe.
Marc Boyer -- Lying for having sex or lying for making war? Trust US presidents :-(
Gabriel Dos Reis wrote:
Marc Boyer <Marc.Boyer@enseeiht.yahoo.fr> writes:
| Parce qu'il consomme des ressources pour un mécanisme dont
| on a pas besoin. "What you don't use, you don't pay for"
| (DnE, $4.5, p121). Si on a pas besoin du rtti, ne devrait-on
| pas ne pas payer le cout (ici en taille d'exécutable) ?
| Non ?
Comment peux-tu déterminer que tu n'utilises pas la RTTI ?
Parce que le programme compile et fonctionne correctement
sans l'activation de la RTTI ?
Non, il doit y avoir un truc qui m'échappe.
Marc Boyer
--
Lying for having sex or lying for making war? Trust US presidents :-(
| Parce qu'il consomme des ressources pour un mécanisme dont | on a pas besoin. "What you don't use, you don't pay for" | (DnE, $4.5, p121). Si on a pas besoin du rtti, ne devrait-on | pas ne pas payer le cout (ici en taille d'exécutable) ? | Non ?
Comment peux-tu déterminer que tu n'utilises pas la RTTI ?
Parce que le programme compile et fonctionne correctement sans l'activation de la RTTI ? Non, il doit y avoir un truc qui m'échappe.
Marc Boyer -- Lying for having sex or lying for making war? Trust US presidents :-(
Gabriel Dos Reis
Marc Boyer writes:
| Gabriel Dos Reis wrote: | > Marc Boyer writes: | > | >| Parce qu'il consomme des ressources pour un mécanisme dont | >| on a pas besoin. "What you don't use, you don't pay for" | >| (DnE, $4.5, p121). Si on a pas besoin du rtti, ne devrait-on | >| pas ne pas payer le cout (ici en taille d'exécutable) ? | >| Non ? | > | > Comment peux-tu déterminer que tu n'utilises pas la RTTI ? | | Parce que le programme compile et fonctionne correctement | sans l'activation de la RTTI ?
Alors, c'est à toi de le dire au compilateur.
| Non, il doit y avoir un truc qui m'échappe.
C'est que avec le modèle de compilation séparée de C++ et la technologie actuelle des compilateurs, si tu sais que ton prorgramme n'utiliseras pas la RTTI alors il faut le lui dire. D'ailleurs, il en profitera ainsi pour vérifier la cohérence des propos si cela lui est possible.
-- Gaby
Marc Boyer <Marc.Boyer@enseeiht.yahoo.fr> writes:
| Gabriel Dos Reis wrote:
| > Marc Boyer <Marc.Boyer@enseeiht.yahoo.fr> writes:
| >
| >| Parce qu'il consomme des ressources pour un mécanisme dont
| >| on a pas besoin. "What you don't use, you don't pay for"
| >| (DnE, $4.5, p121). Si on a pas besoin du rtti, ne devrait-on
| >| pas ne pas payer le cout (ici en taille d'exécutable) ?
| >| Non ?
| >
| > Comment peux-tu déterminer que tu n'utilises pas la RTTI ?
|
| Parce que le programme compile et fonctionne correctement
| sans l'activation de la RTTI ?
Alors, c'est à toi de le dire au compilateur.
| Non, il doit y avoir un truc qui m'échappe.
C'est que avec le modèle de compilation séparée de C++ et la
technologie actuelle des compilateurs, si tu sais que ton prorgramme
n'utiliseras pas la RTTI alors il faut le lui dire. D'ailleurs, il en
profitera ainsi pour vérifier la cohérence des propos si cela lui est
possible.
| Gabriel Dos Reis wrote: | > Marc Boyer writes: | > | >| Parce qu'il consomme des ressources pour un mécanisme dont | >| on a pas besoin. "What you don't use, you don't pay for" | >| (DnE, $4.5, p121). Si on a pas besoin du rtti, ne devrait-on | >| pas ne pas payer le cout (ici en taille d'exécutable) ? | >| Non ? | > | > Comment peux-tu déterminer que tu n'utilises pas la RTTI ? | | Parce que le programme compile et fonctionne correctement | sans l'activation de la RTTI ?
Alors, c'est à toi de le dire au compilateur.
| Non, il doit y avoir un truc qui m'échappe.
C'est que avec le modèle de compilation séparée de C++ et la technologie actuelle des compilateurs, si tu sais que ton prorgramme n'utiliseras pas la RTTI alors il faut le lui dire. D'ailleurs, il en profitera ainsi pour vérifier la cohérence des propos si cela lui est possible.