User Tools

Site Tools


python:wrapper

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
python:wrapper [2022/06/25 15:32] francoispython:wrapper [2022/06/28 08:38] (current) luke
Line 4: Line 4:
  
 L'explication s'appuie sur un exemple d'une fonction et d'une classe écrite en C++. Les codes sources sont dans un répertoire : L'explication s'appuie sur un exemple d'une fonction et d'une classe écrite en C++. Les codes sources sont dans un répertoire :
- 
 |<code> |<code>
 drwxr-xr-x 3 4096  build drwxr-xr-x 3 4096  build
Line 22: Line 21:
 programme python  programme python 
 </code> | </code> |
 +
 +<WRAP center round download 60%>
 +Ensemble des sources {{ :python:boostpythontest.tgz |boostpythontest.tgz}} (5 fichiers)
 +</WRAP>
  
 ===== Code C++ ===== ===== Code C++ =====
Line 33: Line 36:
  
 L'interface se trouve dans le fichier entête C++ (''headers'') L'interface se trouve dans le fichier entête C++ (''headers'')
 +
 {{ :python:test.hpp |}} {{ :python:test.hpp |}}
 <code c++> <code c++>
Line 62: Line 66:
  
 Le programme proprement dit (les données initiales et le comportement) se trouve dans un fichier ''cpp''. Le programme proprement dit (les données initiales et le comportement) se trouve dans un fichier ''cpp''.
 +
 {{ :python:test.cpp |}} {{ :python:test.cpp |}}
 <code c++> <code c++>
Line 105: Line 110:
  
 La première ligne permet de sélectionner le bon interpréteur. La première ligne permet de sélectionner le bon interpréteur.
 +
 {{ :python:test.py |}} {{ :python:test.py |}}
 <code python> <code python>
Line 140: Line 146:
  
 La liaison ce fait grâce à la bibliothèque Boost avec un ensemble de déclarations. La liaison ce fait grâce à la bibliothèque Boost avec un ensemble de déclarations.
 +
 {{ :python:pywrapper.cpp |}} {{ :python:pywrapper.cpp |}}
 <code c++> <code c++>
Line 195: Line 202:
 set (CXX_STANDARD_REQUIRED ON) set (CXX_STANDARD_REQUIRED ON)
 </code> </code>
 +
 +<WRAP center round important 60%>
 Il est important de produire une bibliothèque dynamique (''SHARED'') pour qu'elle soit chargée à la volée dans l'environnement Python. Il est important de produire une bibliothèque dynamique (''SHARED'') pour qu'elle soit chargée à la volée dans l'environnement Python.
 +</WRAP>
 <code cmake> <code cmake>
 set (BUILD_SHARED_LIBS ON) set (BUILD_SHARED_LIBS ON)
Line 234: Line 244:
   ${Boost_LIBRARIES}   ${Boost_LIBRARIES}
   )   )
 +</code>
 +
 +Installation du package ''libboost-python-dev''.
 +<code bash>
 +sudo apt-get install -y libboost-python-dev
 </code> </code>
  
python/wrapper.1656171156.txt.gz · Last modified: 2022/06/25 15:32 by francois