Précédent   Forum du club des développeurs et IT Pro > Autres langages > Autres langages > D
D Forum d'entraide sur la programmation en langage D
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 19/02/2011, 21h03   #1
AnozerOne
Membre du Club
 
Inscription : juillet 2006
Messages : 172
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 172
Points : 64
Points : 64
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

Citation:
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.
AnozerOne est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2011, 00h55   #2
LittleWhite
Responsable 2D/3D/Jeux


 
Avatar de LittleWhite
 
Homme Alexandre Laurent
Ingénieur développement logiciels
Inscription : mai 2008
Messages : 10 440
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 : 10 440
Points : 40 258
Points : 40 258
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.
LittleWhite est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 20/02/2011, 10h15   #3
AnozerOne
Membre du Club
 
Inscription : juillet 2006
Messages : 172
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 172
Points : 64
Points : 64
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.

Citation:
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é.
AnozerOne est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2011, 21h07   #4
Eyyub
Membre à l'essai
 
Inscription : 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 : 24
Points : 24
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 !
}
Eyyub est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 20/02/2011, 21h19   #5
LittleWhite
Responsable 2D/3D/Jeux


 
Avatar de LittleWhite
 
Homme Alexandre Laurent
Ingénieur développement logiciels
Inscription : mai 2008
Messages : 10 440
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 : 10 440
Points : 40 258
Points : 40 258
... 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.
LittleWhite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2011, 21h33   #6
Eyyub
Membre à l'essai
 
Inscription : 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 : 24
Points : 24
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 :-° .
Eyyub est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2011, 22h25   #7
LittleWhite
Responsable 2D/3D/Jeux


 
Avatar de LittleWhite
 
Homme Alexandre Laurent
Ingénieur développement logiciels
Inscription : mai 2008
Messages : 10 440
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 : 10 440
Points : 40 258
Points : 40 258
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.
LittleWhite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/02/2011, 19h47   #8
Eyyub
Membre à l'essai
 
Inscription : 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 : 24
Points : 24
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 !
Eyyub est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 12h12.


 
 
 
 
Partenaires

Hébergement Web