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 :

Traduire un Code C/C++


Sujet :

C++

  1. #1
    Inscrit
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    992
    Points
    217
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 992
    Points : 217
    Par défaut Traduire un Code C/C++
    Bonjour

    J'avais un programme fait par mon encadrant en 1993, en langage C qui comporte une 40 quarantaines de Pages de Code, qu'on ma demander de le reprendre ou le traduire en Java .

    Aprés avoir fait une premiére compilation sous Visual c++ j'ai trouver qu'il manquer plusieurs bibliothéque qui n'existe plus de nos jours comme "sys /time.h" ou "assert.h"

    Alors j'ai constaté que j'aller pas m'en sortire en lisant ligne par ligne le programme en traduisant a chaque fois le code .


    Alors je voulais vous demander si il y'avait pas une autres méthode plus pratique pour reprendre un code en un autre langage .Ou n'hésitez pas a me proposé vos propre Méthodes .

    MErci d'avance

  2. #2
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Points
    6 911
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Par défaut
    J'avais un programme fait par mon encadrant en 1993, en langage C
    Et donc tu viens sur le groupe de C++ quand il y en a un sur le C. La logique m'échappe.

    Citation Envoyé par faressam
    j'ai trouver qu'il manquer plusieurs bibliothéque qui n'existe plus de nos jours comme "sys/time.h"
    C'est du unix, mais ça existe toujours.
    ou "assert.h"
    Si tu ne l'as pas, c'est vraissemblablement un problème d'installation.

  3. #3
    Inscrit
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    992
    Points
    217
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 992
    Points : 217
    Par défaut --»» I n F o S
    Citation Envoyé par Jean-Marc.Bourguet
    Et donc tu viens sur le groupe de C++ quand il y en a un sur le C. La logique m'échappe.



    C'est du unix, mais ça existe toujours.

    Si tu ne l'as pas, c'est vraissemblablement un problème d'installation.
    Justement car je veux le traduire dans un langage orienté objet Java ou C++, du coup j'auarai plus d'infos ici .

    Et pour le bibliothéques si elles sont disponiblent en UNIX ca implique que je dois compilé sous UNIX ou il suffit que je les ajoute a mon dossier sous Windows pour que ca Marche

  4. #4
    Membre confirmé
    Avatar de NewbiZ
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2002
    Messages
    184
    Points
    563
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2002
    Messages : 184
    Points : 563
    Par défaut
    La question est plutot, sont-elles sous unix parcequ'elles sont plateform-dependant, ou parcequ'elles sont compiler-dependant.

    Pour GCC tu pourra utiliser les fichiers sous windows grace à son portage mingw.

    Sinon je n'ai pas bien compris ta requête, tu veux traduire ce programme en C++ ou en Java ... ? faudrait se décider.

    Il n'existera de tout facon pas de méthode automatique pour traduire le programme, ou tout du moins, pas de manière "élégante".

  5. #5
    Inscrit
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    992
    Points
    217
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 992
    Points : 217
    Par défaut I N F o S
    C'est en Java que je tiens à le faire

    Est je sais très bien que je risque de ne pas trouvé une Méthode systématique, Mais je voulais savoir les Méthodes et démarches approuvés par les gens qui ont déjà pensé a ca ou effectuer une Migration d'un code vers un autre langage

  6. #6
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Points
    20 970
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Par défaut
    Commences par demander à Visual de le compiler comme du code C++ et corrige les erreurs - warnings et errors -. Mets les bons en-têtes - assert.h -> cassert, ... -
    Ensuite, tu intègres dans les strctures les méthodes qui s'y rapportent. J'ai un tuto de migration d'un programme fourni dans les tutos DVP vers du C++ en cours de rédaction, pas eu le temps de le finaliser

  7. #7
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Points
    6 911
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Par défaut
    Citation Envoyé par faressam
    C'est en Java que je tiens à le faire
    J'ai un programme C de 3000 lignes que je veux traduire en Java et je pose des questions sur un forum consacré au C++. La logique m'échappe toujours.

    Sans connaître les raisons qui poussent à vouloir cette traduction, c'est de toute manière difficile de répondre. Je crains que la bonne solution soit ou ne pas traduire et simplement porter le programme C vers la nouvelle plateforme, ou tout jeter et refaire une conception complète. De toute manière, pour quelque chose d'aussi petit ça ne risque pas grand chose.

  8. #8
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Points
    20 970
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Par défaut
    Citation Envoyé par faressam
    C'est en Java que je tiens à le faire

    Est je sais très bien que je risque de ne pas trouvé une Méthode systématique, Mais je voulais savoir les Méthodes et démarches approuvés par les gens qui ont déjà pensé a ca ou effectuer une Migration d'un code vers un autre langage
    Comme le dit JM, pourquoi poster ici ?
    Pour t'aider : http://conception.developpez.com/livres/#L0201485672 et http://conception.developpez.com/livres/#L0321213351 parlent du refactoring, et donc un peu de ce que tu veux faire.

  9. #9
    Inscrit
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    992
    Points
    217
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 992
    Points : 217
    Par défaut I n F o S
    Citation Envoyé par Miles
    Comme le dit JM, pourquoi poster ici ?
    Pour t'aider : http://conception.developpez.com/livres/#L0201485672 et http://conception.developpez.com/livres/#L0321213351 parlent du refactoring, et donc un peu de ce que tu veux faire.
    Car que ca soit JAVA ou c++ C'est la même chose, sauf que ici j'aurai plus de Réponses.

    Et d'ailleurs je ne demande pas qu'on me donne le code en JAVA mais une méthode logique pour le faire vu que j'ai 40 Pages de codes et que même le compilateur Visual C++ a besoin des Bibliothèques assert.h et sys/time.h et je ne sais vraiment pas comment je dois les intégrées .

    Sinon pour les liens comporte des livres sur UML et sur des codes qui sont déjà fait en orienté objet, sauf que mon programme ne contient même pas une Classe.

    Mais je reste persuader que je ne suis pas le premier à avoir eu à faire cette Manip c'est pour ca que je cherche si quelqu'un l'avait fait et Comment il l'a entreprit

  10. #10
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Points
    20 970
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Par défaut
    structure en C = classe en C++, c'est kif kif.
    fonction en C = fonction libre en C++, on peut les mettre dans une classe ou pas.

    A partir de ces constatations, on peut utiliser l'un des 2 livres dont je t'ai parlé, plus le livre sur le Test-Driven Development où tu peux réécrire des bouts de ton programme tout en vérifiant que son fonctionnement reste identique.

  11. #11
    Inscrit
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    992
    Points
    217
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 992
    Points : 217
    Par défaut I n F o S
    MERci pour l'info

    Pour les Livres ils peuvent être consultable via un site ou un service comme celui de Google car vu que c'est des éditeurs francais et je me trouve au Canada ca ne sera pas évident de les avoir.

  12. #12
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Points
    20 970
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Par défaut
    Pour Test-Driven, c'est un livre en anglais, de même pour Refactoring to patterns, et le dernier est une traduction de l'anglais, tu cherches Design Patterns + shalloway et tu tombes sur le livre en anglais

  13. #13
    Membre régulier Avatar de dockurt2k
    Inscrit en
    Juillet 2006
    Messages
    91
    Points
    98
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Juillet 2006
    Messages : 91
    Points : 98
    Par défaut
    Petite question pour ton probléme de compilation.

    Tu n'utiliserais pas visual Studio Express (2005) par hasard?
    Si c'est le cas ton probléme est normal, cette version ne contient pas les librairies de plateforme (WIN32, ATL, COM, MFC, ...) il faut les telecharger à pars il me semble.

  14. #14
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Points
    20 970
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Par défaut
    MFC et autres ne sont pas supportées. Effectivement, il faut installer le Platform SDK, mais tout est indiqué dans le tuto sur l'installation de Visual Express : http://arb.developpez.com/vc++/express/

  15. #15
    Inscrit
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    992
    Points
    217
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 992
    Points : 217
    Par défaut
    Citation Envoyé par dockurt2k
    Petite question pour ton probléme de compilation.

    Tu n'utiliserais pas visual Studio Express (2005) par hasard?
    Si c'est le cas ton probléme est normal, cette version ne contient pas les librairies de plateforme (WIN32, ATL, COM, MFC, ...) il faut les telecharger à pars il me semble.
    Non j'utilise Visual C++, et il reclame les bibliothéques assert.h et sys/time.h que je continue a chercher sur le Net sans rien Trouvé.

  16. #16
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Points
    3 344
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Par défaut
    Citation Envoyé par faressam
    Non j'utilise Visual C++
    Oui, et on te parles de Visual C++ 2005 Express... Est-ce que c'estce que tu utilises ?

  17. #17
    Membre régulier Avatar de dockurt2k
    Inscrit en
    Juillet 2006
    Messages
    91
    Points
    98
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Juillet 2006
    Messages : 91
    Points : 98
    Par défaut
    Quel version de visual C++?

  18. #18
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 382
    Points
    41 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 382
    Points : 41 593
    Par défaut
    Ce ne sont pas des bibliothèques mais des fichiers d'en-tête.
    • <assert.h> est fourni avec Visual Studio, sinon avec le Platform SDK (nécessaire pour développer en Win32 sous Visual C++ 2005 Édition Express).
    • <sys/time.h>, c'est de l'unixoïde, par contre...

  19. #19
    Inscrit
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    992
    Points
    217
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 992
    Points : 217
    Par défaut
    Citation Envoyé par Médinoc
    Ce ne sont pas des bibliothèques mais des fichiers d'en-tête.
    • <assert.h> est fourni avec Visual Studio, sinon avec le Platform SDK (nécessaire pour développer en Win32 sous Visual C++ 2005 Édition Express).
    • <sys/time.h>, c'est de l'unixoïde, par contre...
    Oui c'est la version Visual C++ 2005 sauf que j'ai bien vérifié, il n'y a pas de "assert.h" et "sys/time.h ".

    Du coup je me demande comment je dois les integrées.

  20. #20
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Points
    20 970
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Par défaut
    Je me répète : assert.h -> cassert

Discussions similaires

  1. Besoin d'aide pour traduire un code NASM en MASM
    Par popol03 dans le forum Assembleur
    Réponses: 2
    Dernier message: 21/05/2007, 19h06
  2. Réponses: 4
    Dernier message: 20/10/2006, 10h57
  3. Réponses: 4
    Dernier message: 08/08/2006, 16h04
  4. [VB.NET] traduire ce code CS
    Par Eclix dans le forum Windows Forms
    Réponses: 4
    Dernier message: 14/07/2006, 00h22
  5. []Traduire un code barre alphanumérique en nombre
    Par iskandhar dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 21/08/2005, 22h17

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