Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 8 sur 8
  1. #1
    Membre régulier
    Inscrit en
    juillet 2006
    Messages
    172
    Détails du profil
    Informations forums :
    Inscription : juillet 2006
    Messages : 172
    Points : 71
    Points
    71

    Par défaut Import : comment le script est-il importé ?

    Bonjour/Bonsoir.

    Quand on n'utilise que certaines fonctions/class ... d'un script est ce que c'est tout le script qui est importé ou seulement le code que l'on utilise (en gros pour savoir si cela influence la taille de l'exécutable compilé) ?

    Est ce qu'il est possible d'importer automatiquement des bibliothèques sans devoir le spécifier ?

    Je suppose que oui si j'ai bien interprété cette partie (du très bon) wiki suivant :

    http://mag.fedora-fr.org/wiki/Le_lan...Les_exceptions

    Le langage D propose une classe Exception que vous pourrez proposer en héritage à vos propres classes de gestion d'erreur. Vous trouverez la définition de cette classe dans /usr/include/d/object.di . Cette classe étant définie dans object.d, elle n'a pas besoin d'être importé.
    Personnellement je suis sous ubuntu 10.04 LTS 64 bits et je n'ai pas trouvé de fichier "object.d", quant au "object.di" son chemin absolu est :

    "/usr/include/d/dmd/druntime/import/object.di"

    Donc peut être qu'en mettant des bibliothèques à un endroit précis elles sont automatiquement importées lors de la création d'un nouveau projet ?

    J'ai utilisé l'installateur pour le d2 avec comme compilateur dmd.
    C'est surement pas le meilleur choix mais j'ai fait au plus facile/rapide, et je peux toujours changer.
    Par contre je tiens à utiliser la deuxième version de "D" puisque de toute façon je suis un développeur du dimanche qui ne compte pas vivre de ses applications créées pour lui même.
    Mais cela ne veut pas dire que je ne veux pas bien faire, juste que ce n'est pas bien grave si cela ne fonctionne pas comme cela devrait (bugs du compilateur "instable", ou "moins stable" que pour la version 1).
    En effet en cas de bug trouvé et signalé je peux me permettre d'attendre la résolution de celui ci.

  2. #2
    Responsable 2D/3D/Jeux

    Avatar de LittleWhite
    Homme Profil pro Alexandre Laurent
    Ingénieur développement logiciels
    Inscrit en
    mai 2008
    Messages
    16 706
    Détails du profil
    Informations personnelles :
    Nom : Homme Alexandre Laurent
    Localisation : France

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

    Informations forums :
    Inscription : mai 2008
    Messages : 16 706
    Points : 86 131
    Points
    86 131

    Par défaut

    Bonjour,

    Je pense que l'on peut inclure seulement une classe en faisant:
    import package.class;

    Du moins, cela m'a semblé être le cas pour la std (phobos)

    Sinon, je ne vois pas pourquoi je voudrai avoir de nouvelles classes / fichiers ... définis de base (donc implicitement). Mais je ne suis pas sur que ce soit juste une histoire de chemins.
    Vous souhaitez participer à la rubrique 2D / 3D / Jeux ? Contactez-moi
    La rubrique a aussi un blog !

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Membre régulier
    Inscrit en
    juillet 2006
    Messages
    172
    Détails du profil
    Informations forums :
    Inscription : juillet 2006
    Messages : 172
    Points : 71
    Points
    71

    Par défaut

    Citation Envoyé par LittleWhite Voir le message
    Bonjour,

    Je pense que l'on peut inclure seulement une classe en faisant:
    import package.class;

    Du moins, cela m'a semblé être le cas pour la std (phobos)
    Ok, j'essaierais cela.

    Sinon, je ne vois pas pourquoi je voudrai avoir de nouvelles classes / fichiers ... définis de base (donc implicitement). Mais je ne suis pas sur que ce soit juste une histoire de chemins.
    A vrai dire moi non plus, je chercherais même plutôt à l'éviter, mais peut être que j'ai mal compris le message que j'ai cité.

  4. #4
    Nouveau Membre du Club
    Profil pro
    Inscrit en
    août 2009
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : août 2009
    Messages : 36
    Points : 25
    Points
    25

    Par défaut

    Citation Envoyé par LittleWhite Voir le message
    Bonjour,

    Je pense que l'on peut inclure seulement une classe en faisant:
    import package.class;

    Du moins, cela m'a semblé être le cas pour la std (phobos).
    T'es sur ?

    Parce que je vois plutôt ça comme : import package.module;
    (et la doc aussi on dirait) .

    Pour importer juste une fonction :
    import std.stdio : writeln;
    (par ex)

    Code :
    1
    2
    3
    4
    5
    6
    7
    import std.stdio : writeln;
    
    void main()
    {
            std.stdio.writeln("Hello world !"); // error, std.stdio is undefined 
            writeln("Hello world !"); // ok !
    }

  5. #5
    Responsable 2D/3D/Jeux

    Avatar de LittleWhite
    Homme Profil pro Alexandre Laurent
    Ingénieur développement logiciels
    Inscrit en
    mai 2008
    Messages
    16 706
    Détails du profil
    Informations personnelles :
    Nom : Homme Alexandre Laurent
    Localisation : France

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

    Informations forums :
    Inscription : mai 2008
    Messages : 16 706
    Points : 86 131
    Points
    86 131

    Par défaut

    ... Non je ne suis pas sur ... c'est qu'à un moment, je voyais stdio comme une classe.
    Vous souhaitez participer à la rubrique 2D / 3D / Jeux ? Contactez-moi
    La rubrique a aussi un blog !

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  6. #6
    Nouveau Membre du Club
    Profil pro
    Inscrit en
    août 2009
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : août 2009
    Messages : 36
    Points : 25
    Points
    25

    Par défaut

    Citation Envoyé par LittleWhite Voir le message
    ... Non je ne suis pas sur ... c'est qu'à un moment, je voyais stdio comme une classe.
    T'inquiètes, perso' j'ai aussi pensé ça :-° .

  7. #7
    Responsable 2D/3D/Jeux

    Avatar de LittleWhite
    Homme Profil pro Alexandre Laurent
    Ingénieur développement logiciels
    Inscrit en
    mai 2008
    Messages
    16 706
    Détails du profil
    Informations personnelles :
    Nom : Homme Alexandre Laurent
    Localisation : France

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

    Informations forums :
    Inscription : mai 2008
    Messages : 16 706
    Points : 86 131
    Points
    86 131

    Par défaut

    Oh ... j'ai moi, cela compile:

    Code :
    1
    2
    import module : class;
    Sachant que module est le nom de mon fichier

    EDIT:
    Méa culpa ... je fais encore quelque confusion avec le D
    Vous souhaitez participer à la rubrique 2D / 3D / Jeux ? Contactez-moi
    La rubrique a aussi un blog !

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  8. #8
    Nouveau Membre du Club
    Profil pro
    Inscrit en
    août 2009
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : août 2009
    Messages : 36
    Points : 25
    Points
    25

    Par défaut

    Citation Envoyé par LittleWhite Voir le message
    Oh ... j'ai moi, cela compile:

    Code :
    1
    2
    import package : class;
    Sachant que package est le nom de mon fichier
    Nop, tu confonds package et module toi !

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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •