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 :

exécuter programme C avec MATLAB


Sujet :

MATLAB

  1. #1
    Membre du Club
    Inscrit en
    Avril 2010
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 58
    Points : 51
    Points
    51
    Par défaut exécuter programme C avec MATLAB
    Bonjour à tous,


    j'ai un programme écrit en c qui comporte plusieurs fichier

    je veut l’exécuter avec matlab

    si ça est possible comment?


    merci d'avance

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Bonjour,

    voir la :
    Les fichiers MEX
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2007
    Messages : 27
    Points : 22
    Points
    22
    Par défaut
    Bonjour,

    Désolé chafik, je n'ai pas de réponse pour toi, mais j'ai le même problème. Un programme C réparti sur plusieurs fichiers .c et .h
    Et la FAQ est assez pauvre sur les MEX-files.

    A ce que j'ai compris il faut écrire une mexFunction dans le code du fichier C, mais quand on a plusieurs fichiers ???
    Logiquement je dirais qu'il n'y a besoin d'écrire une mexFunction que dans le fichier principal.

    Ensuite, il faut aussi faire un #include mex.h. Idem, est-ce que doit le faire dans tous les fichiers ou non ???
    Si on suit la logique précédente, je dirais Non.

    Enfin on lance la fonction mex dans Matlab, pour les arguments faut-il mettre tous les fichier .c ? Tous les fichier .h ?
    Là, je ne sais pas.

    Pour ce qui est du compilateur, Lcc fournit avec ma version de Matlab (R14SP3) ne compile pas mon code C, qui a été codé pour gcc. Ce dernier n'étant pas compatible avec Matlab, j'ai utilisé MinGW ; l'interface est très claire et ça à l'air de bien marcher, mais je n'ai pas encore testé.


    Si une âme charitable et expérimentée veut bien lever toutes ces incertitudes, je pourrai me lancer dans l'adaptation de mon code C.
    Et si tout fonctionne pourquoi pas agrémenté un peu la FAQ, ou faire un tuto.

    Bon Chafik, j'ai un peu squatter ton sujet là
    Mais si ça peu t'aider.

  4. #4
    Expert confirmé
    Avatar de tug83
    Homme Profil pro
    MATLAB Geek !
    Inscrit en
    Juin 2006
    Messages
    1 781
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : MATLAB Geek !
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 781
    Points : 4 039
    Points
    4 039
    Par défaut
    Je suis d'accord avec toi pour qu'un jour on fasse une FAQ plus complète sur les MEX , mais bon si ça n'a pas été avant c'est que ce n'est pas si simple car on sort du monde MATLAB pour le monde C!!!
    En attendant je peux te confirmer ta logique .
    La mexfunction est juste pour le code maitre. Imagine tu as master1.c qui appelle la fonction slave1.c
    Dans ce cas il faut inclure les fichiers enfants au début de master1.c

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #include "mex.h"
    #include <stdlib.h>
    #include <stdio.h>
    #include "alloc_utile.h"
    #include "alloc_utile.c"
    #include "slave1.h"
    #include "slave1.c"

    Donc tu ne mexeras lors de la compil que master1.c vu que tuas indiqué dans les include ce qu'il fallait inclure
    MATLAB 8.2 (R2013b)

    le blog des MATLAB geeks

Discussions similaires

  1. « Tout savoir sur la programmation avancée avec MATLAB »
    Par Hinault Romaric dans le forum MATLAB
    Réponses: 5
    Dernier message: 10/01/2014, 09h54
  2. resoudre la programmation linéaire avec matlab
    Par lachebba dans le forum MATLAB
    Réponses: 2
    Dernier message: 03/01/2010, 18h36
  3. Exécuter une interface avec Matlab 5.3
    Par chaterbache dans le forum Interfaces Graphiques
    Réponses: 4
    Dernier message: 02/01/2008, 07h08
  4. [Système] Exécuter un programme perso avec php
    Par blastafarie dans le forum Langage
    Réponses: 3
    Dernier message: 19/10/2007, 09h39

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