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);
// ...