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 :

Créer une DLL en C++


Sujet :

C++

  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2010
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Février 2010
    Messages : 39
    Par défaut Créer une DLL en C++
    Bonjour,

    Au travers d'un projet en Java, je suis amené à faire une dll, en C++.
    Dans les fait, cette dll aura pour unique utilité de lancer un programme tiers.
    En dehors de la structure propre à la création de la dll, l'intégralité du code serait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "system (java -jar D:\xxxx\prog.jar  ); "
    Je n'ai que peu de connaissance en c++ (c'est pas ma spécialité, et je n'ai pas le temps de m'y former), je n'arrive pas à me dépatouiller avec les exemples trouvé sur internet, et je tombe quasi-systématiquement sur des problème de comptabilité.

    Je voudrais donc savoir si quelqu'un aurait sous la main un squelette de code c++ où je pourrais juste introduire ma ligne de code.

    Merci d'avance,
    Olivier

  2. #2
    Membre confirmé
    Inscrit en
    Septembre 2009
    Messages
    87
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 87
    Par défaut
    Bonjour

    Si vous avez visual studio c++ 2008, vous crééez un nouveau projet Win32, selectionnez dll, (projet NON vide), et dans le [nom du projet].cpp vous mettez :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    extern "C" __declspec(dllexport) double __stdcall Nomdelafonction(double Param1, double param2)
    	{
    double x=param1*param2;
    return x;
    }
    Si vous souhaitez nommer vos fonctions exportés correctement, il vous faut un fichier .def , vous le renseignez dans propriété du projet (et NON de la solution)

    Propriété de configuration=> Editeur de liens =>Entrée=>Fichier de définition des modules

    et là vous placez le nom de votre fichier .def

    Dans votre fichier vous placez
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    LIBRARY NomduProjet
    EXPORTS
    Nomdelafonction

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2010
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Février 2010
    Messages : 39
    Par défaut
    Tout d'abord, merci pour la réponse..

    J'ai testé le code, et ça a l'air de marcher.
    Cela étant, je n'arrive pas à lancer mon programme depuis la dll, alors que j'arrive à afficher des pop-up.

    Est-il bien possible de lancer un programme depuis une dll?

  4. #4
    Membre confirmé
    Inscrit en
    Septembre 2009
    Messages
    87
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 87
    Par défaut
    rundll32.exe Chemin_DLL,Nom_de_la_Fonction

  5. #5
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2010
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Février 2010
    Messages : 39
    Par défaut
    Ca c'est pour lancer une fonction d'une dll, mais l'inverse : lancer un programme depuis une dll (lancer word par exemple), c'est possible?

  6. #6
    Membre confirmé
    Inscrit en
    Septembre 2009
    Messages
    87
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 87
    Par défaut
    system ("Ta commande");

  7. #7
    Membre émérite

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2006
    Messages
    450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 450
    Par défaut
    A noter que si votre dll C++ est juste pour appeler un executable... on peut aussi le faire en java

  8. #8
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2010
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Février 2010
    Messages : 39
    Par défaut
    Hélas, cette dll doit être appelé depuis un soft ayant son propre langage très limité.

    Dommage d'ailleurs, ça ne leur aurait pas couté grand chose de rajouter l'exécution de commande système à leur langage.

    En tout cas, merci pour les réponses

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

Discussions similaires

  1. Comment créer une dll à parti d'un programme en C
    Par laetous dans le forum Windows
    Réponses: 5
    Dernier message: 02/09/2006, 11h05
  2. [VB6]comment créer une dll
    Par kboo dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 12/04/2006, 14h32
  3. Comment (ou peut on) créer une DLL .NET ?
    Par Mickey.jet dans le forum Delphi .NET
    Réponses: 4
    Dernier message: 02/04/2006, 15h54
  4. Comment créer une dll Win32 sous Delphi ?
    Par Mickey.jet dans le forum Langage
    Réponses: 8
    Dernier message: 16/06/2005, 15h38
  5. [MFC]Créer une DLL BIS
    Par Furtif_00 dans le forum MFC
    Réponses: 5
    Dernier message: 28/06/2004, 14h48

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