Ce dont tu as besoin c'est
1. GCC ** gcc (x86_64-posix-seh-rev0, Built by MinGW-W64 project) 8.1.0** 2. Python Python 3.7.4 3. Éditeur avancé tel que le code Visual Studio Version: 1.41.1 (system setup) OS: Windows_NT x64 10.0.18362
Créez un dossier avec un nom approprié. Copions le programme ci-dessous!
> mkdir capi
** Appeler la bibliothèque de test python **
capi.py
import myModule as capi #Donnez-lui un nom approprié(Je suis accro au test
capi.hello()
** Corps de la bibliothèque **
capilib.c
#include <Python.h>
static PyObject* hello(PyObject* self, PyObject* args)
{
printf("Bonjour le monde Tokyo\n");
return Py_None;
}
//Définition du nom de la fonction, des spécifications, etc.
static PyMethodDef myMethods[] = {
{ "hello", hello, METH_NOARGS, "Hello World"},
{ NULL }
};
// Module Definition struct
static struct PyModuleDef myModule = {
PyModuleDef_HEAD_INIT,"myModule","C API Module",-1,myMethods
};
//Initialisez la structure ci-dessus
PyMODINIT_FUNC PyInit_myModule(void)
{
return PyModule_Create(&myModule);
}
Script de création de bibliothèque
setup.py
from distutils.core import setup, Extension
setup(name = 'myModule', version = '1.0.0', \
ext_modules = [Extension('myModule', ['capilib.c'])])
Créez une bibliothèque.
python setup.py install
running install
running build
running build_ext
running install_lib
running install_egg_info
Removing C:\ProgramData\Anaconda3\Lib\site-packages\myModule-1.0.0-py3.7.egg-info
Writing C:\ProgramData\Anaconda3\Lib\site-packages\myModule-1.0.0-py3.7.egg-info
Comment vérifier la bibliothèque
\capi>pip freeze
...
myModule==1.0.0
...
Mesures contre les caractères déformés
> chcp 65001
Exécuter
capi>python capi.py
Bonjour le monde Tokyo