IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Embarqué Discussion :

[Embarqué] C ou C++ ?


Sujet :

Embarqué

  1. #41
    screetch
    Invité(e)
    Par défaut
    il me semblait qu'il y avait aussi des normes pour les compilateurs eux-mêmes, a savoir qu'ils doivent être certifiés générer un code correct (c'est-à-dire qu'il n'y a aucune perte dans la traduction code=> langage machine). Mon prof avait dit a l'époque que seul un compilateur ADA avait été certifié, en raison de la complexité de la certification. C'est vrai que les compilateurs C/C++ ont parfois des bugs de génération de code. Est-ce toujours vrai?

  2. #42
    Membre expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Points : 3 284
    Points
    3 284
    Par défaut
    Citation Envoyé par screetch Voir le message
    il me semblait qu'il y avait aussi des normes pour les compilateurs eux-mêmes, a savoir qu'ils doivent être certifiés générer un code correct (c'est-à-dire qu'il n'y a aucune perte dans la traduction code=> langage machine). Mon prof avait dit a l'époque que seul un compilateur ADA avait été certifié, en raison de la complexité de la certification. C'est vrai que les compilateurs C/C++ ont parfois des bugs de génération de code. Est-ce toujours vrai?
    Je parle d'une époque assez ancienne dans ma carrière (il y'a 8 ans environ), et à l'époque toutes les parties lié à la sureté de fonctionnement était effectivement en ADA.
    Cela a visiblement changé depuis mais je pense que le code est généré par un outils de modélisation:
    http://www.ghs.com/products/industrial_safety.html

    Tous les logiciels ont des bugs que ce soit des compilateurs/OS/.... Leur faire passer une certification te donne un niveau confiance supplémentaire et une garantie non négligeable quand à son comportement. malgré tout, une défaillance est toujours possible.

    Passer une certification coute cher, donc l'éditeur d'un compilateur fera cette démarche uniquement s'il compte attaquer le marché de la sureté de fonctionnement, ce marché reste petit par rapport au reste du monde informatique, donc il y'a peu de place.

    Dans ce domaine le matériel aussi doit être certifié comme les processeurs, les cartes, les capteurs, ...
    bazar: http://www.improetcompagnie.com/publ...ctacles-6.html

    BÉPO la disposition de clavier francophone, ergonomique et libre: http://bepo.fr/wiki/Accueil

    Emacs Wiki: http://www.emacswiki.org/

    En attente de ce que produira: http://www.pushmid.com

  3. #43
    Membre averti
    Profil pro
    professeur des universités à la retraite
    Inscrit en
    Août 2008
    Messages
    364
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : professeur des universités à la retraite

    Informations forums :
    Inscription : Août 2008
    Messages : 364
    Points : 439
    Points
    439
    Par défaut
    Pour en revenir au sujet de base, je signalerais aussi pour ceux qui sont intéressés par l'utilisation de C++ en embarqué, l'ouvrage :

    Effective C++ in an embedded environnment, de Scott Meyers

  4. #44
    Membre émérite

    Inscrit en
    Mai 2008
    Messages
    1 014
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 1 014
    Points : 2 252
    Points
    2 252
    Par défaut
    Excellent, je ne savais pas du tout que Scott Meyers s'était intéressé au monde de l'embarqué.
    Merci pour l'info ptyxs !

  5. #45
    Membre chevronné
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Points : 2 107
    Points
    2 107
    Par défaut
    Excellent ! Je vais commander de ce pas !
    Je l'ai pas trouvé sur amazon, mais je vais chercher ailleurs !

  6. #46
    Membre chevronné
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Points : 2 107
    Points
    2 107
    Par défaut
    Eh ben, j'ai cherché partout, je ne trouve qu'une version PDF de dispo...
    Quelqu'un a trouvé la version livre ?

  7. #47
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Citation Envoyé par poukill Voir le message
    Eh ben, j'ai cherché partout, je ne trouve qu'une version PDF de dispo...
    Quelqu'un a trouvé la version livre ?
    De ce que j'ai compris il ne s'agit pas d'un livre mais d'un PDF avec lié à une formation qu'il donne sur ce sujet. Bref, un PDF avec les slides de sa conférence à 25$

  8. #48
    Membre expérimenté
    Homme Profil pro
    Chercheur
    Inscrit en
    Mars 2010
    Messages
    1 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 218
    Points : 1 685
    Points
    1 685
    Par défaut
    Bonjour,

    Citation Envoyé par 3DArchi Voir le message
    De ce que j'ai compris il ne s'agit pas d'un livre mais d'un PDF avec lié à une formation qu'il donne sur ce sujet. Bref, un PDF avec les slides de sa conférence à 25$
    Les 32 premiers slides dans ce pdf : http://www.artima.com/samples/effCppEmbNotesSample.pdf

    En plus de cette généreuse initiative, l'éditeur précise :

    You'll get not only the slides Scott shows in class, you'll also get the accompanying notes—the very ones Scott uses.
    Vous n'en revenez pas? Alors accrochez-vous bien :

    You may copy the PDF to as many devices as you like, annotate it in any way you want, print it in part or in full as many times as you choose.
    C'est beau, non?
    Si quelqu'un est intéressé, j'ai aussi des présentations powerpoint à vendre!

  9. #49
    Membre du Club
    Profil pro
    Inscrit en
    Août 2003
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 135
    Points : 66
    Points
    66
    Par défaut
    Citation Envoyé par lequebecois79 Voir le message
    tu as le beagle board standard qui est beaucoup moins puissant...

    sinon regarde ce que fait
    gumstix
    muvium
    fox board
    ATMega

    des cartes sur arm, ppc.... tu en trouves des milliers

    tel que déjà dit, un système embarqué de nos jours ne veut plus dire grand chose....

    tu peux trouver des systèmes à 40Mhz avec 8K de ram..... et d'autre qui sont dual core à 1.5Ghz avec 2 gig de ram....

    tu peux en trouver qui gère le c, d'autre le c++, java, basic...
    Oui mais en principe un système embarqué doit tenir compte de la consommation (suivre la mode du développement durable) et ces cartes là consomment quand même beaucoup.
    Pour ma part, s'il n'y a pas d'OS et qu'on a besoin de performance et optimisation autant utiliser le C, le développeur "contrôle" mieux le code.
    ;-)

  10. #50
    Membre du Club
    Profil pro
    Inscrit en
    Août 2003
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 135
    Points : 66
    Points
    66
    Par défaut
    Citation Envoyé par screetch Voir le message
    il me semblait qu'il y avait aussi des normes pour les compilateurs eux-mêmes, a savoir qu'ils doivent être certifiés générer un code correct (c'est-à-dire qu'il n'y a aucune perte dans la traduction code=> langage machine). Mon prof avait dit a l'époque que seul un compilateur ADA avait été certifié, en raison de la complexité de la certification. C'est vrai que les compilateurs C/C++ ont parfois des bugs de génération de code. Est-ce toujours vrai?
    Carrément et ce n'est pas limité qu'aux compilateurs C et C++. Je développe également sur LabVIEW 2010 (entre autre) et je peux vous dire que les bugs de compilations... il y en a pas mal!
    ;-)

  11. #51
    Membre chevronné
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Points : 2 107
    Points
    2 107
    Par défaut
    Citation Envoyé par 3DArchi
    De ce que j'ai compris il ne s'agit pas d'un livre mais d'un PDF avec lié à une formation qu'il donne sur ce sujet. Bref, un PDF avec les slides de sa conférence à 25$
    Citation Envoyé par Aleph69 Voir le message
    Bonjour,
    C'est beau, non?
    Si quelqu'un est intéressé, j'ai aussi des présentations powerpoint à vendre!
    Ouais, c'est abusé...
    Des slides sans orateur, ça vaut 0 rouble.

  12. #52
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Points : 16 213
    Points
    16 213
    Par défaut
    J'ai lu la partie accessible, et franchement... Je n'ai rien vu de ce à quoi je m'attendrais. Revenir pour la n-ième fois sur le coût d'un appel virtuel (même pas vraiment comparé au coût d'un if, qui n'est pas étudié...), je trouve ça plus orienté "le C++ vendu aux aficionados du C" que "Le C++ et l'embarqué".


    Le reste de la présentation a l'air plus intéressant, mais je ne comprends pas trop pourquoi il a choisi ainsi cet extrait.
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  13. #53
    Membre averti
    Profil pro
    professeur des universités à la retraite
    Inscrit en
    Août 2008
    Messages
    364
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : professeur des universités à la retraite

    Informations forums :
    Inscription : Août 2008
    Messages : 364
    Points : 439
    Points
    439
    Par défaut
    Sur l'adoption de C++ par Lockheed pour ses avions de combat :

    F-35 Joint Strike Fighter (JSF)

    et sur les normes de codage C++ adoptés par Lockheed (et apparemment rédigées par Stroustrup, voir plus haut) :

    Joint Strike Fighter Air Vehicles C++ Coding Standards

  14. #54
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supaéro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing Supaéro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Points : 4 732
    Points
    4 732
    Par défaut
    Citation Envoyé par ptyxs Voir le message
    Sur l'adoption de C++ par Lockheed pour ses avions de combat :

    F-35 Joint Strike Fighter (JSF)

    et sur les normes de codage C++ adoptés par Lockheed (et apparemment rédigées par Stroustrup, voir plus haut) :

    Joint Strike Fighter Air Vehicles C++ Coding Standards
    Extrèmement intéréssant, tu bosses dans ce milieu pour connaitre ce genre de chose ?

    Edit: je viens de voir un de tes messages dans ce topic, je comprends mieux.
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une très bonne doc sur le C++ (en) Why linux is better (fr)

  15. #55
    Membre chevronné
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Points : 2 107
    Points
    2 107
    Par défaut
    Très intéressant en effet. On y retrouve beaucoup de principes bien connus traités dans la bonne littérature Meyers, Alexandrescu, ...
    Les template sont encouragés, mais pas un mot sur la STL ou Boost, alors qu'il parle de réutilisabilité de composants éprouvés !

  16. #56
    Membre expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Points : 3 284
    Points
    3 284
    Par défaut
    Citation Envoyé par poukill Voir le message
    Très intéressant en effet. On y retrouve beaucoup de principes bien connus traités dans la bonne littérature Meyers, Alexandrescu, ...
    Les template sont encouragés, mais pas un mot sur la STL ou Boost, alors qu'il parle de réutilisabilité de composants éprouvés !
    boost et STL sont peu être "éprouvé" pour une utilisation standard, mais ils n'ont peu être pas encore passé les certifications requise pour l'embarqué ....

    Il faut savoir que dès que tu parle "sureté de fonctionnement" les technologies ont toujours un temps de retard du aux validations de ces dernières composant/libraries/compilateurs, cela prend parfois plusieurs années/h à certifier quelque chose.
    bazar: http://www.improetcompagnie.com/publ...ctacles-6.html

    BÉPO la disposition de clavier francophone, ergonomique et libre: http://bepo.fr/wiki/Accueil

    Emacs Wiki: http://www.emacswiki.org/

    En attente de ce que produira: http://www.pushmid.com

  17. #57
    Membre chevronné
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Points : 2 107
    Points
    2 107
    Par défaut
    Je comprends. Mais si je me trouve dans le cas où j'ai besoin d'une liste doublement chainée. Je fais quoi ? Je code ma classe comme un grand, ou bien j'utilise std::list ?
    C'est pas que je me fasse pas confiance, mais j'aurais espéré pouvoir décemment choisir la deuxième solution !

  18. #58
    Membre expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Points : 3 284
    Points
    3 284
    Par défaut
    Citation Envoyé par poukill Voir le message
    Je comprends. Mais si je me trouve dans le cas où j'ai besoin d'une liste doublement chainée. Je fais quoi ? Je code ma classe comme un grand, ou bien j'utilise std::list ?
    C'est pas que je me fasse pas confiance, mais j'aurais espéré pouvoir décemment choisir la deuxième solution !
    De mémoire si quelque chose n'est pas certifié pour être dans les parties critique tu ne peux pas l'utiliser dans les parties critiques.

    Si std::list n'est pas certifié pour être dans les parties critiques alors tu ne peux pas l'utiliser dans les parties critiques. Donc soit tu as de la chance et tu prend le modele de liste déjà implémenté en interne par ta société et qui a passé la certification, soit tu en fait une à la main.

    Ce milieu es un mode très restrictif. Tout ce qui n'a pas été autorisé explicitement est interdit.
    bazar: http://www.improetcompagnie.com/publ...ctacles-6.html

    BÉPO la disposition de clavier francophone, ergonomique et libre: http://bepo.fr/wiki/Accueil

    Emacs Wiki: http://www.emacswiki.org/

    En attente de ce que produira: http://www.pushmid.com

  19. #59
    Membre expert
    Avatar de Klaim
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2004
    Messages
    1 717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 1 717
    Points : 3 344
    Points
    3 344
    Par défaut
    J'imagine que ce sont les interfaces ET les implémentations des libs qui doivent être certifiées?

  20. #60
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Citation Envoyé par jabbounet Voir le message
    De mémoire si quelque chose n'est pas certifié pour être dans les parties critique tu ne peux pas l'utiliser dans les parties critiques.

    Si std::list n'est pas certifié pour être dans les parties critiques alors tu ne peux pas l'utiliser dans les parties critiques. Donc soit tu as de la chance et tu prend le modele de liste déjà implémenté en interne par ta société et qui a passé la certification, soit tu en fait une à la main.

    Ce milieu es un mode très restrictif. Tout ce qui n'a pas été autorisé explicitement est interdit.
    Ceci dit, tout l'embarqué ne relève pas de la sureté de fonctionnement. Le code de commande d'un volet électrique n'a pas les mêmes contraintes que celui d'un équipement ferroviaire ou avionique (et même dans ces domaines, tous les équipements ne tombent pas sous la sureté de fonctionnement).
    Il y a aussi des règles MISRA C++ qui concernent plus le monde de l'automobile.

Discussions similaires

  1. Quel langage pour le développement embarqué ?
    Par freakydoz dans le forum Débats sur le développement - Le Best Of
    Réponses: 37
    Dernier message: 23/04/2007, 19h31
  2. Base de données embarquée
    Par RICAUD dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 14/07/2005, 08h37
  3. Base de données embarquée sous Windows
    Par bouiboui dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 12/08/2004, 10h38
  4. Réponses: 3
    Dernier message: 12/03/2004, 19h34
  5. [Kylix] Kylix embarqué sur PDA ?
    Par Anonymous dans le forum NoSQL
    Réponses: 10
    Dernier message: 29/11/2002, 13h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo