Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Dernière révision Les deux révisions suivantes | ||
exemple_python_cpp [2013/10/18 07:43] tyrtamos |
exemple_python_cpp [2013/10/18 07:58] tyrtamos |
||
---|---|---|---|
Ligne 4: | Ligne 4: | ||
Python prévoit de pouvoir appeler directement un code en C ou en C++ avec distutils. Le mécanisme nécessaire pour ça est assez logique mais assez complexe au niveau syntaxe. La présente page traite un exemple simple en C++. | Python prévoit de pouvoir appeler directement un code en C ou en C++ avec distutils. Le mécanisme nécessaire pour ça est assez logique mais assez complexe au niveau syntaxe. La présente page traite un exemple simple en C++. | ||
+ | |||
+ | Documentation pour Python 2.7: [[http:// | ||
+ | |||
+ | C'est écrit pour Python 2.7, mais la conversion pour Python 3.3 ne devrait pas poser de problème. | ||
+ | |||
+ | Documentation pour Python 3.3: [[http:// | ||
===== Préparation du code C++ ===== | ===== Préparation du code C++ ===== | ||
Ligne 67: | Ligne 73: | ||
Pour la fonction " | Pour la fonction " | ||
<code cpp> | <code cpp> | ||
- | // | ||
// encapsulation de la fonction ' | // encapsulation de la fonction ' | ||
Ligne 80: | Ligne 85: | ||
Et pour la fonction " | Et pour la fonction " | ||
<code cpp> | <code cpp> | ||
- | // | ||
// encapsulation de la fonction ' | // encapsulation de la fonction ' | ||
Ligne 93: | Ligne 97: | ||
Et c'est tout! Voilà le code complet du module " | Et c'est tout! Voilà le code complet du module " | ||
- | < | + | <code cpp> |
// creation d'un module en C++ pour importation dans Python | // creation d'un module en C++ pour importation dans Python | ||
Ligne 170: | Ligne 174: | ||
from distutils.core import setup, Extension | from distutils.core import setup, Extension | ||
- | |||
ext_modules = [Extension(' | ext_modules = [Extension(' | ||
Ligne 183: | Ligne 186: | ||
) | ) | ||
</ | </ | ||
+ | |||
+ | Vous voyez que le choix du " | ||
===== Compilation ===== | ===== Compilation ===== | ||
Ligne 196: | Ligne 201: | ||
Python prendra le compilateur par défaut. Si vous avez Visual Studio de Microsoft (comme moi), c'est lui qui sera utilisé (ça fonctionne très bien!). Mais si vous voulez MinGW au lieu de Visual Studio, il y a 2 choses à faire: | Python prendra le compilateur par défaut. Si vous avez Visual Studio de Microsoft (comme moi), c'est lui qui sera utilisé (ça fonctionne très bien!). Mais si vous voulez MinGW au lieu de Visual Studio, il y a 2 choses à faire: | ||
- | 1- créer un fichier texte " | + | 1- créer un fichier texte " |
< | < | ||
Ligne 203: | Ligne 208: | ||
</ | </ | ||
- | 2 corriger le fichier C: | + | 2- corriger le fichier C: |
Moyennant quoi, chez moi, ça marche avec les 2 compilateurs. | Moyennant quoi, chez moi, ça marche avec les 2 compilateurs. |