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 :

[API C de Python] Erreur de segmentation


Sujet :

C

Vue hybride

ProgVal [API C de Python] Erreur de... 03/07/2010, 14h00
ProgVal Finalement, je suis parti de... 03/07/2010, 15h24
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Avatar de ProgVal
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 636
    Par défaut [API C de Python] Erreur de segmentation
    Bonjour,

    Tout d'abord, je m'excuse si je suis dans la mauvaise section.

    Mon problème est une bête erreur de segmentation, mais avec l'API C de Python.

    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    PyObject* charger_module(const char* cName) {
        PyObject *pName;
        PyObject *pModule;
        pName = PyString_FromString(cName);
        pModule = PyImport_Import(pName); // L'erreur de segmentation est ici
        Py_DECREF(pName);
        return pModule;
    }
    J'a trouvé l'origine de l'erreur en mettant toutes les lignes en commentaire, et en les dé-commentant au fur et à mesure.

    Voici le prototype de PyImport_Import( :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PyAPI_FUNC(PyObject *) PyImport_Import(PyObject *name);
    Merci d'avance,
    ProgVal

    PS : un exemple issu de la documentation officielle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    #include <Python.h>
     
    int
    main(int argc, char *argv[])
    {
        PyObject *pName, *pModule, *pDict, *pFunc;
        PyObject *pArgs, *pValue;
        int i;
     
        if (argc < 3) {
            fprintf(stderr,"Usage: call pythonfile funcname [args]\n");
            return 1;
        }
     
        Py_Initialize();
        pName = PyString_FromString(argv[1]);
        /* Error checking of pName left out */
     
        pModule = PyImport_Import(pName);
        Py_DECREF(pName);
    // ...

  2. #2
    Membre très actif
    Avatar de ProgVal
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 636
    Par défaut
    Finalement, je suis parti de zéro, et j'ai choisi une autre approche.
    Voici mon code actuel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    int ma_fonction() {
        Py_Initialize();
        PyObject globals;
        PyObject locals;
     
        globals = PyObject();
        locals = PyObject();
     
        PyRun_String("import os; print os.getcwd()", 0, &globals, &locals); // Erreur de segmentation
     
        Py_Finalize();
     
        return 0;
    }

Discussions similaires

  1. Réponses: 5
    Dernier message: 29/08/2014, 10h38
  2. Réponses: 0
    Dernier message: 30/03/2009, 15h51
  3. [Dev-C++] Erreur de segmentation...
    Par sas dans le forum Dev-C++
    Réponses: 11
    Dernier message: 26/03/2005, 14h25
  4. erreur de segmentation
    Par transistor49 dans le forum C++
    Réponses: 10
    Dernier message: 15/03/2005, 11h18
  5. Api mysql avec Devc++, erreur de compilation
    Par Viiince dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 15/06/2004, 17h19

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