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

C++ Discussion :

Passer du C++ au C


Sujet :

C++

  1. #1
    Membre éprouvé
    Avatar de méphistopheles
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 551
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 551
    Points : 1 220
    Points
    1 220
    Par défaut Passer du C++ au C
    Bonjour.

    J'aimerais trouver un outil qui me permet de transformer un code C++ en code C (pour pouvoir ensuite compiler ça sur une carte).
    Le code C n'a pas besoin d'être lisible, juste d'être compatible avec la norme C99.
    J'ai entendu parler de Cfront, mais il parait qu'il n'est pas compatible avec les templates....De plus, j'ai été incapable de comprendre comment on l'utilisait...


    Si vous pouviez éclairer ma lanterne...

    Cordialement
    Méphistophélès
    Si la solution ne résout pas votre problème, changez le problème...
    Cours et tutoriels C++ - FAQ C++ - Forum C++.

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 537
    Points : 2 548
    Points
    2 548
    Par défaut
    Dans tous les cas, l'utilisation de templates sera très difficlement utilisable en C.

    Pour le reste, ca ne me parrait pas du tout insurmontable, voir même je dirait que c'est abordable

    Je ne connais pas d'outils qui puissent faire ceci par contre, mais étant donné la STL, la tache risque d'être ardue.

  3. #3
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Citation Envoyé par méphistopheles Voir le message
    Bonjour.

    J'aimerais trouver un outil qui me permet de transformer un code C++ en code C (pour pouvoir ensuite compiler ça sur une carte).
    Le code C n'a pas besoin d'être lisible, juste d'être compatible avec la norme C99.
    J'ai entendu parler de Cfront, mais il parait qu'il n'est pas compatible avec les templates....De plus, j'ai été incapable de comprendre comment on l'utilisait...


    Si vous pouviez éclairer ma lanterne...

    Cordialement
    CFront gerait les templates. Mais c'est vieux. Il doit y avoir un tas de choses qui ne sont pas conformes.

    Tu peux contacter Comeau (http://www.comeaucomputing.com), c'est sa cible, mais je ne connais pas ses prix.
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

  4. #4
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Points : 4 625
    Points
    4 625
    Par défaut
    LLVM le fait.
    Boost ftw

  5. #5
    Membre éprouvé
    Avatar de méphistopheles
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 551
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 551
    Points : 1 220
    Points
    1 220
    Par défaut
    Citation Envoyé par loufoque Voir le message
    LLVM le fait.
    Heu, je ne vois pas ou l'on trouve cela... http://llvm.org/Features.html

    pourrais-tu m'en dire plus?


    sinon, je préfererais autant que faire se peut une application portable or il me semble que le code généré par comeau est parfois incompatible...

    enfin, je regarderais aussi cette solution

    merci
    Méphistophélès
    Si la solution ne résout pas votre problème, changez le problème...
    Cours et tutoriels C++ - FAQ C++ - Forum C++.

  6. #6
    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
    Si tu veux faire ça régulièrement, peut-être peux tu regarder le front-end EDG. Leurs clients sont plutôt des fabricants de compilateur (dont comeau), je ne sais pas s'ils ont une offre pour ce que tu veux.

    La question se pose aussi de savoir à quel point ton code est compatible C++ et à quel point ton compilateur est compatible C99 ou C89.
    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.

  7. #7
    Membre éprouvé
    Avatar de méphistopheles
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 551
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 551
    Points : 1 220
    Points
    1 220
    Par défaut
    Citation Envoyé par JolyLoic Voir le message
    Si tu veux faire ça régulièrement
    Qu'entend-tu par "régulièrement" ?
    Citation Envoyé par JolyLoic Voir le message
    , peut-être peux tu regarder le front-end EDG. Leurs clients sont plutôt des fabricants de compilateur (dont comeau), je ne sais pas s'ils ont une offre pour ce que tu veux.
    heu je n'ai pas trouvé, mais ils ont que des "gros" clients on dirait....


    Citation Envoyé par JolyLoic Voir le message
    La question se pose aussi de savoir à quel point ton code est compatible C++ et à quel point ton compilateur est compatible C99 ou C89.
    En fait, il est légerement au dessus de C99 (c'est du genre C with classes)...

    en tout cas, merci
    Méphistophélès
    Si la solution ne résout pas votre problème, changez le problème...
    Cours et tutoriels C++ - FAQ C++ - Forum C++.

  8. #8
    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
    Citation Envoyé par méphistopheles Voir le message
    Qu'entend-tu par "régulièrement" ?
    Par régulièrement, j'entends que c'est a priori plus une boîte à outils qu'un truc packagé, et donc que ça demande probablement un bon investissement en temps (et argent ?).

    L'idéal serait que le constructeur de ta carte prenne contact avec eux et te propose une solution clef en main...
    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.

  9. #9
    Membre éprouvé
    Avatar de méphistopheles
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 551
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 551
    Points : 1 220
    Points
    1 220
    Par défaut
    Heu... En réalité, je ne comptait m'en servir que pour faire quelques tranferts (qui incluent les tests)...

    Le problème est que je ne modifierais évidemment pas le code C, mais le code C++ pour les test et donc si il y a une erreur de transcription...
    Méphistophélès
    Si la solution ne résout pas votre problème, changez le problème...
    Cours et tutoriels C++ - FAQ C++ - Forum C++.

  10. #10
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Points : 4 625
    Points
    4 625
    Par défaut
    Heu, je ne vois pas ou l'on trouve cela... http://llvm.org/Features.html

    pourrais-tu m'en dire plus?
    Il y a un backend C pour LLVM.
    Tu convertis le code C++ via le frontend llvm-gcc en la représentation interne de LLVM, tu fais éventuellement tourner les optimisations, puis tu convertis ça en C avec le backend approprié.

    C'est clairement écrit dans le lien
    A C back-end useful for testing and for generating native code on targets other than the ones listed above.
    Boost ftw

  11. #11
    Membre éprouvé
    Avatar de méphistopheles
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 551
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 551
    Points : 1 220
    Points
    1 220
    Par défaut
    heu oui... mon anglais n'est pas ce qu'il devrait être


    merci beaucoup, je vais travailler ça
    Méphistophélès
    Si la solution ne résout pas votre problème, changez le problème...
    Cours et tutoriels C++ - FAQ C++ - Forum C++.

Discussions similaires

  1. Passer un projet de la version 6 à la version 7
    Par clisson dans le forum XMLRAD
    Réponses: 2
    Dernier message: 10/02/2003, 11h37
  2. Passer de la zone d'édition vers une instruction sql
    Par tripper.dim dans le forum C++Builder
    Réponses: 2
    Dernier message: 27/11/2002, 14h44
  3. pk passer de mysql à postgre
    Par pioums dans le forum Autres SGBD
    Réponses: 2
    Dernier message: 03/10/2002, 10h31
  4. Passer du Pascal à Delphi
    Par poppels dans le forum Langage
    Réponses: 7
    Dernier message: 30/08/2002, 21h07
  5. Passer en mode 800*600
    Par flavien tetart dans le forum Assembleur
    Réponses: 8
    Dernier message: 30/05/2002, 23h05

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