Outils pour utilisateurs

Outils du site


informatique:swig

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
informatique:swig [2018/01/09 10:43] 134.158.87.12informatique:swig [2019/03/11 09:54] (Version actuelle) 159.84.20.98
Ligne 15: Ligne 15:
 Comparatif avec d'autre solutions: Comparatif avec d'autre solutions:
 [[https://stackoverflow.com/questions/456884/extending-python-to-swig-not-to-swig-or-cython#456949]] [[https://stackoverflow.com/questions/456884/extending-python-to-swig-not-to-swig-or-cython#456949]]
- 
-===== Exemple avec le pompage (lmapc104) ===== 
-==== Étape 1 ==== 
-dans une commande (cmd) "dos":\\ 
-C:\workspace\pompageGC\src> 
-<code>C:\Users\pompage\Downloads\swigwin-3.0.12\swig.exe -python -c++ pompage.i</code> 
-qui crée les fichiers //src/pompage_wrap.cxx// et //src/pompage.py// 
- 
-On déplace //pompage.py// à la racine du projet: 
-<code>$ mv src/pompage.py .</code> 
- 
-<note tip>Ces deux étapes peuvent être réalisée simplement dans le répertoire //C:\workspace\pompageGC\// en lançant le batch **runSwig.bat**</note> 
-==== Étape 2 ==== 
-dans un terminal (mingw-64)(ds explorer windows, clic-droit sur le répertoire workspace\pompageGC\src puis "//Git Basch here//") :\\ 
-pompage@LMAPC104 MINGW64 /c/workspace/pompageGC (swig) 
-<code>$ g++ -c -std=c++14 -D_hypot=hypot -DWIN32 src/*.cpp src/pompage_wrap.cxx -I./lib/ -I/C/Program\ Files\ \(x86\)/Python36-32/include</code> 
-qui compile avec python, le -I./lib/ est pour le PComm.h (carte Moxa), -D_hypot=hypot pour la compatibilité avec Python ((le https://stackoverflow.com/questions/10660524/error-building-boost-1-49-0-with-gcc-4-7-0)) 
- 
-pompage@LMAPC104 MINGW64 /c/workspace/pompageGC (swig) 
-<code>$ g++ -shared *.o /c/ProgramData/Anaconda3/python36.dll lib/PCOMM.LIB /c/Windows/System32/msvcr120.dll -L./lib/ -lpci-dask64 -o _pompage.pyd</code> 
-qui réalise l'édition de liens (link) et crée les fichiers //_pompage.pyd// 
-<note tip>Ces deux étapes peuvent être lancées plus simplement en tapant, depuis une fenêtre CLI mingw, et en étant dans le répertoire c:/workspace/pompageGC <code>bash mf_pompage-py.sh</code></note> 
-<note important>Si de nouvelles méthodes apparaissent dans //myControler// (fichiers pompage.hpp et cpp), l'étape 1 doit être à nouveau réalisée</note> 
- 
-==== Utilisation ==== 
- 
-à nouveau dans une commande "dos", on teste: 
-<code> 
-C:\workspace\pompageGC\src>cd .. 
- 
-C:\workspace\pompageGC>C:\ProgramData\Anaconda3\python.exe 
-Python 3.6.1 |Anaconda 4.4.0 (64-bit)| (default, May 11 2017, 13:25:24) [MSC v.1900 64 bit (AMD64)] on win32 
-Type "help", "copyright", "credits" or "license" for more information. 
->>> import pompage 
->>> mc = pompage.myControler("test", 1) 
-unable to open comport 
-taille fichier debuglog: 6145 
->>> pression = mc.get_pression() 
->>> pression 
-1000.0 
->>> 
-</code> 
- 
-ou pour exécuter le programme, lancer le batch: 
-<code>runPython_pyqt_pompage.bat</code> 
  
 Débugger C++/Swig/python: pdb et gdb !!\\ Débugger C++/Swig/python: pdb et gdb !!\\
 [[https://stackoverflow.com/questions/13178116/debugging-mixed-python-c-code-in-eclipse]] [[https://stackoverflow.com/questions/13178116/debugging-mixed-python-c-code-in-eclipse]]
  
informatique/swig.1515490992.txt.gz · Dernière modification : 2018/06/19 14:32 (modification externe)