Utilisons le langage de script pour une vie confortable en C ++ 4 - Utilisons la propre bibliothèque de C ++ à partir du langage de script -

Modules écrits en langage C / C ++ double someFunc(double x); Disons qu'il y en a.

Cet article vous montrera un moyen pratique d'utiliser cela sur l'interpréteur Python.


** Pourquoi décidez-vous de l'exécuter sur un interpréteur Python? ** **

・ Il est plus facile de faire des essais et des erreurs avec python. -Dans le cadre sur Python, les essais et erreurs peuvent être effectués sans affecter l'implémentation C / C ++ existante. ・ Par essais et erreurs, il est possible de déterminer quelle est l'opération appropriée.

** Et pourquoi essayez-vous d'utiliser la console IPython dans l'environnement intégré de Spyder? ** **

・ Une calculatrice est déjà disponible. -La fonction historique est déjà préparée.

In [1]: a=1+2

In [2]: b= a +2

In [3]: history a=1+2 b= a +2 history

In [4]:

-En outre, il existe une fonction pour enregistrer l'historique dans un fichier de la bibliothèque standard. readline.write_history_file("history.py")

Utilisez ceci Si vous exécutez le fichier history.py terminé Il devient facile de reproduire une seule fois le résultat de l'exécution.

au dessus de double someFunc(double x); Si vous faites un emballage pour Ici, si le wrapper est également nommé someFunc (x),

> y1 = someFunc(100.0) > y2 = someFunc(100.0+10.0) Il devient possible d'exécuter tels que.

> help(someFunc) Par Vous pouvez voir l'aide pour la partie wrapper de python.

Si la fonctionnalité que vous essayez d'obtenir est essentiellement interactive Plutôt que de construire des couches en langage C / C ++ En remplaçant la couche supérieure par l'interpréteur IPython La portée du développement pourrait être considérablement réduite.

Comme il est facile de créer les détails de la fonction à créer par essais et erreurs Cela fonctionne pour la vitesse de développement.

** Comment rendre facilement votre propre bibliothèque de langage C / C ++ disponible à partir de Python **

SomeFunc.exe avec ses fonctionnalités en langage C / C ++ en tant que programme unique Créons-le comme ça. Décidez comment entrer et sortir cette commande os.system ("argument someFunc.exe> fichier de résultats") Pour pouvoir exécuter comme. Et la valeur de retour de la fonction doit être écrite dans le fichier de résultat. Faire lire le résultat à partir du fichier C'est probablement la manière la plus simple de commencer à écrire [Note 1].

Ensuite, écrivons une fonction python qui utilise la commande self-made.

.py:someFunc.py


def someFunc(x):
Exécutez la commande personnalisée ici
Écrivons le code pour attribuer la valeur de retour à r.
    return r

Même avec un tel style d'écriture, vous devriez être en mesure de réaliser le travail souhaité.

** Autres bénéfices **

--Facile à automatiser l'entrée de la fonction. --Pour p dans glob.glob ("* .png "): ou pour root, dirs, fichiers dans os.walk ('.'): Il est facile de traiter plusieurs fichiers.   --Facile à traiter la sortie de la fonction.

Lorsqu'une erreur se produit lors du traitement sur l'interpréteur IPython, la mémoire à ce moment-là est enregistrée sur l'interpréteur IPython. Il est facile de se référer à la variable telle quelle ou de redémarrer un autre processus. Lors de l'écriture d'un programme dans le langage du compilateur, dans la plupart des cas, lorsqu'une erreur se produit, le programme s'arrête et il n'y a aucun moyen de le redémarrer. L'utilisation de l'interpréteur Python comme base est un moyen très simple de créer un environnement convivial.

Maîtriser les riches fonctionnalités d'IPython

[Incorporer Python comme environnement de script](https://ja.wikipedia.org/wiki/Python%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6% E3% 81% 84% E3% 82% 8B% E8% A3% BD% E5% 93% 81% E3% 81% 82% E3% 82% 8B% E3% 81% 84% E3% 81% AF% E3% 82% BD% E3% 83% 95% E3% 83% 88% E3% 82% A6% E3% 82% A7% E3% 82% A2% E3% 81% AE% E4% B8% 80% E8% A6% A7)

Note 1: os.system() Il vaut mieux utiliser os.popen (), sous-processus que d'utiliser Extension de Python avec C et C ++ Il serait préférable d'utiliser.

Recommended Posts

Utilisons le langage de script pour une vie confortable en C ++ 4 - Utilisons la propre bibliothèque de C ++ à partir du langage de script -
Utilisez un langage de script pour une vie confortable en C ++
Utilisons un langage de script pour une vie C ++ confortable 2 Générer automatiquement une source C ++
Utilisez un langage de script pour une vie confortable en C ++ 3-Laissez le graphique à matplotlib-
Utilisons un langage de script pour une vie confortable en C ++ 6-Que diriez-vous de développer un programme en tant que bibliothèque pour Python?
Utilisez un langage de script pour une vie C ++ confortable-OpenCV-Port Python vers C ++ -
Utilisons un langage de script pour une implémentation C ++ confortable après vérification avec python
Utilisez un langage de script pour une vie C ++ confortable 5 - Utilisez l'environnement intégré de Spyder pour vérifier les données numériques -
Appelez votre propre bibliothèque partagée en langage C à partir de Python à l'aide de ctypes
Linux C / C ++ Créez votre propre environnement de création de bibliothèque
Création d'un outil de gestion de bibliothèque d'en-tête uniquement pour C / C ++
Envelopper C avec Cython pour une utilisation à partir de Python
Envelopper C ++ avec Cython pour une utilisation à partir de Python
python: utilisez votre propre classe pour numpy ndarray
Appelez votre propre bibliothèque de langage C avec Go en utilisant cgo
Appelons votre propre bibliothèque C ++ avec Python (Préférences)
Utiliser IvyFEM (bibliothèque de méthodes d'éléments finis pour .NET) à partir de Python
Remarques sur l'intégration du langage de script dans les scripts bash
Remarque 2 pour intégrer le langage de script dans un script bash
Scripting Language C —— Comment un fichier texte sans shebang est exécuté
Compilation croisée pour Raspberry Pi Zero sur Debian - Créez votre propre bibliothèque partagée