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

Windows Discussion :

Compiler et tester 7zip


Sujet :

Windows

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2005
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 27
    Points : 11
    Points
    11
    Par défaut Compiler et tester 7zip
    Bonjour,


    J'ai pris le code source de 7zip (format de compression mettant en oeuvre l'algorithme LZMA) :

    SDK LZMA 4.43 (C, C++, C#, Java) sur http://www.7-zip.org/fr/download.html

    J'ai donc ouvert le fichier projet essayé de l'exécuter sous Ms Visual Studio 2005 (langage C#).

    J'ai donc ouvert le fichier projet [C:\MesDocs]lzma443\CS\7zip\Compress\LzmaAlone\LzmaAlone.csproj.

    Lorsque je compile, tout se passe bien et la fenêtre ligne de commande en console s'affiche, avec "appuyez sur une touche pour continuer". Le problème est donc que lorsque j'appuie sur une touche, le fenêtre se ferme et je n'ai pas l'occasion de tester la compression. Comment faire ?

    Merci par avance !

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 582
    Points
    41 582
    Par défaut
    "appuyez sur une touche pour continuer" est généralement affiché après la fin du programme. Si c'est tout ce que tu as, il est possible que le programme n'ait pas fonctionné correctement.

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2005
    Messages
    513
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 513
    Points : 416
    Points
    416
    Par défaut
    sinon le programme que tu viens de compiler ne fonctionnerait-il pas en ligne de commande?

  4. #4
    Membre à l'essai
    Inscrit en
    Février 2005
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 27
    Points : 11
    Points
    11
    Par défaut
    Comment fait-on alors pour compiler correctement ? J'ai directement ouvert le fichier .csproj qui, lorsqu'on l'ouvre, ouvre directement toutes les dépendances entre fichiers sources.

    Peut-être que je me suis trompé en compilant un fichier qui n'était pas le fichier principal avec le "programme principal".

    Comment faire pour l'exécuter en ligne de commande ?


    Merci par avance.

    Cahls

  5. #5
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2005
    Messages
    513
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 513
    Points : 416
    Points
    416
    Par défaut
    utilisation d'un programme en ligne de commande, dans une invite de commande MS-DOS, dans le repertoire ou se trouve l'executable tu tape le nom du programme suivit des ligne de commande correspondant au action que tu souhaite faire...

  6. #6
    Membre à l'essai
    Inscrit en
    Février 2005
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 27
    Points : 11
    Points
    11
    Par défaut
    On me crée bien l'exécutable mais lorsque je double-clique dessus, la fenêtre s'ouvre et se ferme à vive allure ! Je ne peux rien taper...

  7. #7
    Membre à l'essai
    Inscrit en
    Février 2005
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 27
    Points : 11
    Points
    11
    Par défaut
    OK c'est bon, je n'ai rien dit !

    Merci beaucoup !!

  8. #8
    Membre à l'essai
    Inscrit en
    Février 2005
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 27
    Points : 11
    Points
    11
    Par défaut
    Maintenant j'aimerais savoir comment on peut faire pour que, lors d'un envoi de fichier, la compression se fasse automatiquement.

    Le récepteur recevrait alors le fichier compressé (dans une mémoire tampon par exemple) et le programme lui donnerait le fichier décompressé automatiquement à l'endroit qu'il aura spécifié ou dans un endroit par défaut.

    En fait, je pensais à 2 possibilités :
    - compression d'un fichier dans une zone tampon, et ce n'est qu'une fois ce fichier compressé, qu'il sera envoyé au récepteur,
    - ou compression et envoi simultanément, c'est-à-dire compression à la volée

    Je n'oser pas modifier le code source, et d'ailleurs, je ne sais même pas par où commencer ?

    Merci encore.

  9. #9
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2005
    Messages
    513
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 513
    Points : 416
    Points
    416
    Par défaut
    je voi pas ou est la difficulté.
    dans ton programme tu executes le logiciel de compression en ligne de commande et tu envoie le fichier alors obtenu...
    la seul petite contrainte et d'attendre que la compression soit finie...

  10. #10
    Membre à l'essai
    Inscrit en
    Février 2005
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 27
    Points : 11
    Points
    11
    Par défaut
    Justement, comment pourrais-je faire si on veut que ça envoie en compressant "en temps réel", au lieu d'attendre que la compression soit finie ?

  11. #11
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2005
    Messages
    513
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 513
    Points : 416
    Points
    416
    Par défaut
    oublie tout de suite, tu compresses et apres tu envoies.
    si tu ne le fait pas plusieurs probleme se pose rien que si le telechargement envoie plus rapidement que ce que ca compresse, il se passe quoi, bah théoriquement le programme croit ke le fichier est terminé et voila, ton destinataire recoi un fichier incomplet.

    ensuite que je sache y a pas de moyen de faire autrement. tu compress, tu attends et tu envoie le fichier, c'est comme ca que tout le monde fait! mais c aussi parce que c la solution la plus simple.

  12. #12
    Membre à l'essai
    Inscrit en
    Février 2005
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 27
    Points : 11
    Points
    11
    Par défaut
    OK je vois.

    Merci, je vais essayer de faire la 1ère solution.

  13. #13
    Membre à l'essai
    Inscrit en
    Février 2005
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 27
    Points : 11
    Points
    11
    Par défaut
    Comment peut-on faire pour compression un répertoire en lignes de commandes ?

    Merci.

  14. #14
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2005
    Messages
    513
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 513
    Points : 416
    Points
    416
    Par défaut
    je ne sais pas très bien ce que tu as fait regarde dans le zip du sdk, il doit y avoir des fichiers txt d'explication et qui te dise comment faire pour compresser.

    pour info moi, j'ai trouvé ca dans un des fichiers:
    How To Use

    ----------



    You must download 7-Zip program from www.7-zip.org.



    You can create .7z archive with 7z.exe or 7za.exe:



    7za.exe a archive.7z *.htm -r -mx -m0fb=255 -mf=off



    If you have big number of files in archive, and you need fast extracting,

    you can use partly-solid archives:



    7za.exe a archive.7z *.htm -ms=512K -r -mx -m0fb=255 -m0d=512K -mf=off



    In that example 7-Zip will use 512KB solid blocks. So it needs to decompress only

    512KB for extracting one file from such archive.

  15. #15
    Membre à l'essai
    Inscrit en
    Février 2005
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 27
    Points : 11
    Points
    11
    Par défaut
    En fait, j'aimerais utiliser les algo LZMA de compression et décompression, pour les incorporer dans un programme qui fait que lorsqu'on envoie un fichier, la compression se fasse toute seule sans que l'utilisateur n'ait d'abord à compresser puis à envoyer.

    Mais je ne sais pas comment incorporer le code des algo, et d'ailleurs, je ne sais pas par où commencer. Il y a :

    7-Zip Extra 4.42
    ----------------

    7-Zip Extra is package of extra modules of 7-Zip.

    7-Zip Copyright (C) 1999-2006 Igor Pavlov.

    This package contains the following files:

    7za.dll - library for working with 7z archives.
    7zxa.dll - library for extracting from 7z archives.
    7zS.sfx - SFX module for installers
    7zSD.sfx - SFX module for installers (uses msvcrt.dll)
    7zr.exe - reduced version of console program 7za.exe
    copying.txt - GNU LGPL
    readme.txt - This file
    Far\ - Plugin for FAR manager
    Installer\ - Files to compress installers

    Ce sont ces .dll que je dois utiliser ? Dans un environnement de développement, comment les utiliser ? Quel langage (j'aimerais C#). Est-ce que, par exemple, on peut directement incorporer un .exe dans un code pour utiliser directement ? Ce sont peut-être des questions idiotes, mais il y a tellement de choses que je ne m'en sors pas.

    Merci encore.

  16. #16
    Membre à l'essai
    Inscrit en
    Février 2005
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 27
    Points : 11
    Points
    11
    Par défaut
    Encore moi... mille excuses

    Je viens de m'apercevoir que lorsque je compile LzmaAlone.cs (C#) (fichiers projets associés), je n'ai pas la génération d'un .exe, je ne comprends pas pourquoi. Le .exe que j'avais était en fait celui fourni avec le SDK LZMA...

    D'autre part, je voudrais savoir comment faire pour compresser un répertoire en lignes de commande avec le LZMA ?

    Est-ce qu'on peut utiliser un .exe dans un code source C# ?

    Merci par avance.

  17. #17
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2005
    Messages
    513
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 513
    Points : 416
    Points
    416
    Par défaut
    alors il faut savoir que la compilation d'un fichier n'entraine pas forcement la création d'une fichier .exe, par exemple un programme qui tiendrais en un seul fichier exe peut etre composé d'une multitude de fichier source.

    en général un fichier source contient une classe, qui utiliser avec d'autre forme un programme, un exe en gros c'est le rassemblement de tous les fichiers sources.

    ensuite ta question "Est-ce qu'on peut utiliser un .exe dans un code source C# ?". na pas de sens. tu ne peux pas inclure un fichier exe dans ton code source. Mais par contre tu peux lancer l'execution de se dernier depuis ton code source.

  18. #18
    Membre à l'essai
    Inscrit en
    Février 2005
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 27
    Points : 11
    Points
    11
    Par défaut
    C'est ce que je voulais dire en disant "utiliser un fichier .exe dans un fichier source". Merci.

    L'exécution d'un source n'entraîne pas forcément la création d'un .exe. Dans ce cas, à quoi ça sert de compiler le code source ? Je veux dire, il ne faut pas voir quoi que ce soit de péremptoire dans ce que je dis, mais je me demande ce que génère la compilation du code dans ce cas. Et comment l'utliser la compression alors ?

  19. #19
    Membre à l'essai
    Inscrit en
    Février 2005
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 27
    Points : 11
    Points
    11
    Par défaut
    Comment a fait l'auteur pour en générer un d'exécutable ?

    En fait, si j'ai bien compris, je devrais utiliser le code source qui implémente l'algo de compression pour pouvoir l'intégrer à ce que je veux faire. Mais le problème c'est que je ne vois pas où sont les interfaces et les fonctions principales, en gros je ne vois pas quels paramètres passer aux bonnes fonctions qu'il faut.

  20. #20
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2005
    Messages
    513
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 513
    Points : 416
    Points
    416
    Par défaut
    je ne vais pas t'expliquer parce que je le ferais très mal.
    juste ce que je peux te conseiller, c'est regarder sur le net, des explications sur la compilation de programme et ca pourra t'aider à comprendre.

Discussions similaires

  1. Réponses: 0
    Dernier message: 15/07/2012, 21h00
  2. [Lazarus] Cherche développeur pouvant compiler et tester un projet sur Mac
    Par Gouyon dans le forum Lazarus
    Réponses: 0
    Dernier message: 14/03/2012, 08h05
  3. Avec quoi tester et compiler du code VB6 aujourd'hui
    Par Lucas Panny dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 20/06/2011, 14h50
  4. Réponses: 4
    Dernier message: 10/11/2009, 07h54
  5. Réponses: 1
    Dernier message: 27/05/2002, 01h44

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