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 :

Quelle méthode utilisée pour dupliquer du code C


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    1 854
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 854
    Par défaut Quelle méthode utilisée pour dupliquer du code C
    Bonjour,

    J'ai une grosse bibliothèque en code C composée de pas mal de fichiers avec des milliers de ligne de code pour géré un composant électronique.
    Je voudrais dupliquer cette bibliothèque dans mon projet car j'ai un second composant à gérer (la bibliothèque n'a pas été pensée pour gérer plusieurs composants).
    Est-ce qu'il y a des outils qui existent pour dupliquer le code en renommant automatiquement le nom de tous les éléments (fonctions, structures, enum, variables globales, #define, #ifdef ...) ? Comment feriez-vous pour faire ça ?

    Remarque : c'est un projet sur lequel je ne dois pas passer beaucoup de temps et peu de chance que je doive réutiliser le code pour un autre projet plus tard : c'est pourquoi je ne cherche pas forcément à réorganiser le code pour ne pas dupliquer le code qui pourrait être mutualisable. Par contre le soucis, c'est que cette bibliothèque appelle des bibliothèques externes qui ellles, ne doivent pas être dupliquée et je ne vais pas utiliser les mêmes #define de configuration entre les deux modules.

    Merci d'avance

  2. #2
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 832
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 832
    Billets dans le blog
    1
    Par défaut
    Bonjour

    Si t'es sous Linux: tar

    Admettons que tout ton projet se trouve dans un dossier "projetX". Tu lances alors les commandes suivantes (en te mettant dans le dossier parent)
    • mkdir projetY
    • (cd projetX; tar -cf - .) |(cd projetY; tar -xpvf -) (et encore, on peut réduire via tar -C projetX -cf - . |tar -C projetY -xpvf -) mais je suis peu habitué à l'option "-C")

    Quand c'est terminé, tu as un dossier "projetY" clone complet de "projetX". Les deux sont indépendants, tu peux aller dans l'un compiler, exécuter, puis aller dans l'autre, compiler, exécuter. Puis ensuite tu peux faire évoluer le code de "projetY".

    Et cela n'a rien à voir avec du C. C'est plutôt une question de l'utilisation de ton OS.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    1 854
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 854
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Bonjour

    Si t'es sous Linux: tar

    Admettons que tout ton projet se trouve dans un dossier "projetX". Tu lances alors les commandes suivantes (en te mettant dans le dossier parent)
    • mkdir projetY
    • (cd projetX; tar -cf - .) |(cd projetY; tar -xpvf -) (et encore, on peut réduire via tar -C projetX -cf - . |tar -C projetY -xpvf -) mais je suis peu habitué à l'option "-C")

    Quand c'est terminé, tu as un dossier "projetY" clone complet de "projetX". Les deux sont indépendants, tu peux aller dans l'un compiler, exécuter, puis aller dans l'autre, compiler, exécuter. Puis ensuite tu peux faire évoluer le code de "projetY".

    Et cela n'a rien à voir avec du C. C'est plutôt une question de l'utilisation de ton OS.
    Je n'ai pas bien compris ce que tu fais dans ta description.

    Le programme est compilé sous Windows et fourni un binaire pour un microcontrôleur.
    Quand je parle de bibliothèque, je parle uniquement de code source .c/.h (pas de .dll ou autre) que j'intègre dans mon projet et que je compile en même temps que le code applicatif.

  4. #4
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 832
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 832
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par boboss123 Voir le message
    Je n'ai pas bien compris ce que tu fais dans ta description.
    Il s'agit d'une duplication, faite par archivage et restitution dans la foulée via la commande "tar" (Tape ARchive), d'un dossier complet (dans l'exemple "projetX"), avec toute son arborescence. Au final tu te retrouves avec deux dossiers identiques. Si le dossier X cotntient un projet, fatalement le dossier Y contient le même projet.
    Mais cette commande "tar" est une commande Unix/Linux.

    Citation Envoyé par boboss123 Voir le message
    Le programme est compilé sous Windows et fourni un binaire pour un microcontrôleur.
    Ah ben oui mais tu ne l'avais pas dit ça au départ !!!
    Et je suis sûr alors que le terme "projet" n'est pas le même pour toi et moi. Chez-moi, un projet c'est un dossier. Et dans le dossier j'y mets tout ce qui a trait à mon projet. Si ensuite je veux faire un autre projet, je passe par cette commande me permettant d'avoir un squelette de projet déjà construit.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. [Flex4] Quelle méthode utiliser pour communiquer en HTTP ?
    Par berceker united dans le forum Flex
    Réponses: 22
    Dernier message: 18/01/2011, 23h46
  2. quelle méthode utiliser pour la detection de courbe paramétrique?
    Par Elodie31 dans le forum Traitement d'images
    Réponses: 2
    Dernier message: 27/06/2008, 09h43
  3. Quelle méthode utiliser pour traiter les images
    Par babozfr dans le forum VC++ .NET
    Réponses: 3
    Dernier message: 02/03/2007, 15h40
  4. Quelle méthode utiliser pour un formulaire
    Par sam01 dans le forum Langage
    Réponses: 4
    Dernier message: 23/06/2006, 16h42
  5. Réponses: 4
    Dernier message: 02/05/2006, 12h08

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