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

MATLAB Discussion :

Problème de chargement DLL


Sujet :

MATLAB

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Problème de chargement DLL
    Bonjour,

    Alors voilà je voudrai en fonction d'un fichier Matlab (.m) construit un fichier .dll ou .lib (j'avoue ne pas bien connaître la différence).

    Le contexte est le suivant :
    J'ai construit un très gros programme de traitement de données et je voudrais construire la dll (ou la lib) de ce programme afin de rappeler dans un autre programme Matlab mes fonctions.

    Par exemple je construis un fichier Matlab de la façon suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    function c = somme(a,b)
    c=a+b;
    Ensuite j'utilise la commande suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mcc -t -L C -W lib:somme -T link:lib somme.m libmmfile.mlib
    Matlab me génère beaucoup de fichiers notamment :
    somme.dll
    somme.h
    somme.lib
    Maintenant je construis un nouveau dossier sur le bureau par exemple et je construis le fichier .m suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    DLL = 'somme';
    H = 'somme.h';
     
    if libisloaded('somme')
        unloadlibrary somme;
    else
        loadlibrary(DLL,H);
        libfunctionsview somme;
    end
    Sauf que le nom de mes fonctions ne sont plus du tout les mêmes, je ne retrouve pas la ligne de commande : Quelqu'un a t'il une piste pour m'aider ?

    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Points : 4 661
    Points
    4 661
    Par défaut
    Bonjour,

    Ce n'est simplement pas possible. Tu ne peux pas appeler une DLL générée par le Compiler depuis MATLAB.

    Duf

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci @duf42 pour ta réponse.

    Tu me dis que je ne peux pas l'utiliser mais alors je ne comprends pas l'utilité de créer une DLL sous Matlab. A moins que je ne me trompe, une DLL doit pouvoir être utilisée par n'importe quel programme du système si elle est appelée, non ?

    Aurais tu une autre piste pour que je puisses embarquer mon programme ?

  4. #4
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Points : 4 661
    Points
    4 661
    Par défaut
    Tu ne peux pas l'utiliser dans MATLAB mais tu peux tout à fait l'appeler depuis du code C.

    Selon ce que fait ton programme, tu peux essayer de générer le code C avec MATLAB Coder et créer une DLL à partir de ca. Ensuite tu pourras utiliser cette DLL dans MATLAB.

    Par curiosité, pourquoi veux-tu passer par le langage C pour "partager" du code MATLAB entre 2 applications MATLAB?

Discussions similaires

  1. Problème sécurité chargement DLL
    Par probordelais dans le forum Applets
    Réponses: 1
    Dernier message: 19/10/2011, 17h48
  2. Problème de chargement dll crt
    Par fat52 dans le forum Visual C++
    Réponses: 2
    Dernier message: 20/08/2010, 09h44
  3. Problème de chargement DLL pendant deploiement
    Par schnourf dans le forum C#
    Réponses: 9
    Dernier message: 02/07/2007, 15h17
  4. Problème de chargement DLL
    Par Balthos dans le forum C++
    Réponses: 7
    Dernier message: 21/11/2006, 16h18
  5. problème de chargement dll
    Par tophque dans le forum MFC
    Réponses: 8
    Dernier message: 18/11/2005, 15h14

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