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++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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");

+ 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