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
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
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.
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.
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
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager