OVH Cloud OVH Cloud

Redirection [News : fr.sci.electronique TITRE langage C embarqué]

2 réponses
Avatar
Tarek ALLAOUA
Bonjour,
Je me permet de rediriger la question vers ce NG, sachant qu'il ya des
specialistes en matiere de programmation C temps reel.

Problème :

>Le coup de programmer des systèmes embarqués en C++, pour moi c'est
>quand même assez rare, car en général c'est moins rapide que le C, et
>le plus souvent on n'a pas trop de puissance gratuite à disposition.

Qu'en pensez vous ?

--
Pour me répondre : http://marreduspam.com/ad156618

2 réponses

Avatar
Fabien LE LEZ
On Sat, 31 Jul 2004 19:48:47 +0200, "Tarek ALLAOUA" <NoThInG>:

Le coup de programmer des systèmes embarqués en C++, pour moi c'est
quand même assez rare, car en général c'est moins rapide que le C,



Le bon vieux troll est de retour ;-)
On peut voir le C++ comme un C avec des fonctionnalités
supplémentaires -- même si les fonctionnalités supplémentaires
permettent une philosophie de programmation totalement différente.

Donc, si tu prends un programme C, et que tu le compiles avec un
compilo C++, l'exécutable sera à peu près le même (taille et vitesse
d'exécution équivalentes) que si tu l'avais compilé avec un
compilateur C.

Si tu décides de programmer en C++, tu as accès à des fonctionnalités
supplémentaires. Certaines (les fonctions membres, par exemple) ne
changent pas grand-chose à la vitesse d'exécution ou à l'occupation
mémoire (dans le cas des fonctions membres, il s'agit d'un appel de
fonction classique, seule la syntaxe change). Certaines
fonctionnalités, comme les templates, peuvent augmenter la taille de
l'exécutable (importante, en embarqué) si elles sont mal utilisées, ou
plus exactement utilisées de façon mal adaptée à l'embarqué. D'autres
encore font effectivement baisser la vitesse d'exécution -- surtout si
le compilo fait mal son travail d'optimisation.
Mais certaines fonctionnalités, au contraire, permettent d'économiser
du temps d'exécution ou de la mémoire, en systématisant
l'optimisation.

Compare par exemple :

char buf [1000]
strcpy (buf, chaine1);
strcat (buf, chaine2);

et

MaClasseChaine buf= chaine1 + chaine2;

Dans le deuxième cas, il est possible de pondre une classe
"MaClasseChaine" et de passer du temps à l'optimiser (suivant ce qu'on
veut : vitesse, économie mémoire...), et ensuite à l'utilisation,
l'optimisation est automatique.


--
;-)


Avatar
Luc Hermitte
"Tarek ALLAOUA" <NoThInG> wrote in news:410bdb7a$0$27775
$:

Le coup de programmer des systèmes embarqués en C++, pour moi c'est
quand même assez rare, car en général c'est moins rapide que le C, et
le plus souvent on n'a pas trop de puissance gratuite à disposition.


Qu'en pensez vous ?


Qu'un article de Robert Martin (si je me souviens bien) dispo sur object
mentor traite de cela.


--
Luc Hermitte <hermitte at free.fr>
FAQ de <news:fr.comp.lang.c++> :
<http://www.cmla.ens-cachan.fr/Utilisateurs/dosreis/C++/FAQ/>
Dejanews : <http://groups.google.com/advanced_group_search>