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

Langage Java Discussion :

[Compilation] Changement des noms des paramètre a la compilation


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 57
    Par défaut [Compilation] Changement des noms des paramètre a la compilation
    Bonjour, j'utilse java 1.5.0_12 et eclipse 3.2

    J'ai une classe Toto :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public class Toto {
    public void getTest(String titi){}
    }
    Quand je la compile à partir d'un script ant ou d'une console , la compilation me change le nom du paramètre de la méthode.Le code de toto.class :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public class Toto
    {
    public Toto(){
     
        public void getTest(String s) {}
    }
    Or quand eclipse me le compile il ne me change pas le nom du paramètre (j'ouvre le .class en ne passant pas par eclipse).
    Etant donné que j'ai besoin que le nom du paramètre de la méthode soit le même dans le .class, j'aimerai savoir si il existe une option ou quelque chose à préciser pour que le nom du paramètre reste inchangé.
    J'ai essayé avec d'autre version de java (1.4) et le paramètre change à la compilation.

    Merci pour l'aide.

  2. #2
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par grelon Voir le message
    J'ai essayé avec d'autre version de java (1.4) et le paramètre change à la compilation.
    Que veux-tu dire précisément par "le paramètre change à la compilation" ? Ton fichier source est modifié par la compilation ? C'est étrange !?!


    a++

  3. #3
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 57
    Par défaut
    C'est le nom des paramètres des méthodes qui est changé dans le .class

    Au lieu d'avoir String titi, j'ai String s

  4. #4
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par grelon Voir le message
    C'est le nom des paramètres des méthodes qui est changé dans le .class
    Les fichiers *.class ne contiennent pas les noms des paramètres des méthodes... d'ailleurs on en a parlé sur le forum il y a quelques temps : http://www.developpez.net/forums/sho...82#post2447082


    a++

  5. #5
    Membre émérite Avatar de benratti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    471
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2004
    Messages : 471
    Par défaut
    Citation Envoyé par grelon Voir le message
    Etant donné que j'ai besoin que le nom du paramètre de la méthode soit le même dans le .class, j'aimerai savoir si il existe une option ou quelque chose à préciser pour que le nom du paramètre reste inchangé.
    Allez, quelques bases te sont nécessaire. Quand tu compiles, tu vas générer des .class qui sont en fait du bytecode. C'est du code "binaire" compréhensible par la jvm et pas vraiment par un humain. Si tu dis que tu ouvres le .class et que tu vois du code java, soit tu arrives à faire décompiler en live à la façon du gars dans matrix, soit tu as un décompilateur. Je pense que tu es dans les second cas. Et c'est ton décompilateur qui "renomme" tes variables... mais au final, ca n'a aucun insidence sur l'execution du code.

  6. #6
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 57
    Par défaut
    je viens d'ouvrir un fichier .class (compiler avec eclipse, configuré avec un jdk 1.5.0_12) avec les decompilateurs "cavaj" et "jad", sans leurs fournir les sources, et ces derniers me redonnent les noms de parametres correctement !

    Question: est - ce que eclipse active une option particulière du compilateur java (sur lequel il repose pour compiler), pour garder ces nom.

    Merci

  7. #7
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par grelon Voir le message
    Question: est - ce que eclipse active une option particulière du compilateur java (sur lequel il repose pour compiler), pour garder ces nom.
    Je ne pense pas que ce soit le cas par défaut (tu as dû le modifier toi même).

    Par contre pour javac il existe -g:vars qui stocke le nom des variables dans le fichier *.class, ce qui doit surement être utilisé par les décompilateurs (par contre ces infos ne sont pas disponibles dynamiquement au runtime même si elles sont présentes dans le *.class)...

    a++

  8. #8
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 57
    Par défaut
    Je viens d'essayer et ça marche pas

    Merci quand même.

  9. #9
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par grelon Voir le message
    Je viens d'essayer et ça marche pas
    C'est à dire ???

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] TcD MS Query -> changement de nom des données sources
    Par LG-69 dans le forum Excel
    Réponses: 1
    Dernier message: 25/06/2015, 14h53
  2. Taille maximale des noms de paramètres GET ?
    Par Youri30 dans le forum Langage
    Réponses: 9
    Dernier message: 28/11/2012, 17h51
  3. Changement de nom des fichiers de données
    Par Tolede78 dans le forum Débuter
    Réponses: 4
    Dernier message: 26/01/2010, 10h55
  4. [jpublisher] changement de nom des objets créés
    Par dodi84 dans le forum Oracle
    Réponses: 0
    Dernier message: 09/09/2009, 13h07
  5. Réponses: 5
    Dernier message: 09/09/2008, 07h52

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