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 un fichier cpp [Débutant]


Sujet :

MATLAB

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 16
    Points : 9
    Points
    9
    Par défaut Exécuter un fichier cpp
    Bonjour,

    Je rencontre actuellement un problème d'implémentation et je voulais votre avis sur la question.
    J'ai implémenté une simulation en CPP, je souhaite appeler l'exécutable sous Matlab sans passer par un MEX file.
    La sortie de l'exécutable est un fichier que je lis sous Matlab. J'ai vu que c'était possible de lancer l'exécution en passant par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    system('nomExecutableCpp.exe')
    Par contre, c'est là où j'ai un doute, si je souhaite changer l'entrée de ma simulation CPP sous Matlab, je dois passer par un fichier MEX ? ou une autre alternative est possible ?
    Ma deuxième question est la suivante : Est-ce que les fichiers MEX sont compatibles avec de la parallélisation de type OpenMP ?

    J'espère avoir été claire.

    Merci d'avance pour vos réponses.

    Absynthe12

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 53 165
    Points
    53 165
    Par défaut
    Citation Envoyé par Absynthe12 Voir le message
    si je souhaite changer l'entrée de ma simulation CPP sous Matlab, je dois passer par un fichier MEX ? ou une autre alternative est possible ?
    Tout dépend de la façon dont ton programme gère les données d'entrée

    Citation Envoyé par Absynthe12 Voir le message
    Est-ce que les fichiers MEX sont compatibles avec de la parallélisation de type OpenMP ?
    Oui
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 16
    Points : 9
    Points
    9
    Par défaut
    Si, pour les données d'entrée du programme cpp, je donne un fichier d'entrée ".txt" écrit sous Matlab, c'est possible de compiler sous matlab un exécutable cpp sans passer par un fichier MEX ?

    Dans mon script matlab, je veux seulement générer des données d'entrée et récupérer la sortie du programme cpp.

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 53 165
    Points
    53 165
    Par défaut
    Si ton programme en C++ prend en entrée un fichier texte et en génère un autre en sortie, tu peux très bien utiliser l'exécutable nomExecutableCpp.exe avec la fonction system.

    Je ne vois pas où se situe le problème ?
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 16
    Points : 9
    Points
    9
    Par défaut
    Je pensais que je devais passer par un Mex file obligatoirement pour compiler mes codes cpp sous Matlab.
    La procédure que je souhaite écrire sous matlab, est la suivante : je donne un fichier d'entrée, je compile le code cpp, j'appelle l'executable cpp, je regarde la sortie.
    A chaque fois que je change mes données d'entrée, je dois compiler mon code cpp.

  6. #6
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 53 165
    Points
    53 165
    Par défaut
    Citation Envoyé par Absynthe12 Voir le message
    A chaque fois que je change mes données d'entrée, je dois compiler mon code cpp.
    Le code C++ dépend du fichier texte passé en entrée ? C'est bizarre.
    Si tu dois réécrire le code pour chaque fichier, il y a un problème de conception
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 16
    Points : 9
    Points
    9
    Par défaut
    Vous avez raison, je dois revoir la conception du fichier.
    Dans le cas où je n'utilise que des fichiers d'entrée et sortie sous matlab, je n'ai plus besoin de faire appel au mex.

    Merci encore.

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

Discussions similaires

  1. Exécuter un fichier .BAT sur une machine distante
    Par ruff15 dans le forum Windows
    Réponses: 4
    Dernier message: 14/09/2005, 11h44
  2. Commande MS DOS qui exécute un fichier C++.
    Par Furius dans le forum C++
    Réponses: 5
    Dernier message: 09/09/2005, 17h42
  3. Exécuter un fichier .sql
    Par joul's dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 11/02/2005, 12h18
  4. Exécuter un fichier à partir du code
    Par TheCool dans le forum ASP
    Réponses: 28
    Dernier message: 18/01/2005, 19h22
  5. exécution des fichiers index.php
    Par berry dans le forum Apache
    Réponses: 4
    Dernier message: 20/12/2004, 20h29

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