Ctypes et Python

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
40
Mois de parution
janvier 2009
Spécialité(s)


Résumé

Ctypes est une bibliothèque qui sert de glu entre les langages Python et C. Elle permet d'appeler des fonctions de bibliothèques externes écrites en C, de définir des types, des structures et des callbacks Python.


La bibliothèque a été écrite par Thomas Heller en 2003. D'abord développée comme un projet indépendant, elle a été intégrée à Python 2.5. Pour appeler des fonctions externes, ctypes se repose sur la bibliothèque [libffi] (Foreign Function Interface), écrite à l'origine par Anthony Green en 1999 pour Red Hat.

1. Hello World!

Entrons dans le vif du sujet avec un appel à la fonction printf() de la bibliothèque C :

$ python

>>> from ctypes import cdll

>>> libc = cdll.LoadLibrary('libc.so.6')

>>> libc.printf("Hello…

La suite est réservée aux abonnés. Il vous reste 92% à découvrir.
  • Accédez à tous les contenus de Connect en illimité
  • Découvrez des listes de lecture et des contenus Premium
  • Consultez les nouveaux articles en avant-première
Envie de lire la suite ? Rejoignez Connect
Je m'abonne maintenant


Article rédigé par

Par le(s) même(s) auteur(s)

Trucs et astuces

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
40
Mois de parution
janvier 2009
Spécialité(s)
Résumé

Python comme beaucoup de langages est très riche en fonctionnalités. Certaines d’entre elles sont méconnues ou trop rarement utilisées. Voici une petite sélection de trucs et astuces qui vous permettront sans doute de gagner du temps dans vos développements.

Nouveautés de Python 3

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
40
Mois de parution
janvier 2009
Spécialité(s)
Résumé

Guido Van Rossum a lancé le projet Python 3, également appelé Python 3.0 ou Python 3000, en mars 2006, en créant une nouvelle branche Subversion. Ce projet vise à améliorer la conception du langage en se permettant des modifications incompatibles avec Python 2.x. Depuis la création de Python en 1991, ça sera la seconde version majeure brisant la compatibilité (la précédente est Python 2.0 qui date de 2000).Python 2.6 et Python 3 ont été développés en même temps pour limiter les différences entre ces deux versions. Python 3.0 bénéficie donc de l'ensemble des améliorations de Python 2.6.

Pratiquer le fuzzing avec Fusil

Magazine
Marque
MISC
Numéro
39
Mois de parution
septembre 2008
Spécialité(s)
Résumé

Cet article est la suite de l'article « Comment réaliser un fuzzer » (MISC 36). Maintenant que les bases sont posées, voyons la mise en pratique. Fusil le fuzzer est une boîte à outils libre pour écrire ses propres fuzzers. Nous allons voir comment mettre en place l'environnement pour fuzzer une application, puis comment faire muter un fichier ou bien générer des données. Les sondes et le fonctionnement de Fusil seront détaillés pour bien comprendre ce qui se passe. Pour finir, l'exécution du fuzzer Python sera expliquée.

Les listes de lecture

9 article(s) - ajoutée le 01/07/2020
Vous désirez apprendre le langage Python, mais ne savez pas trop par où commencer ? Cette liste de lecture vous permettra de faire vos premiers pas en découvrant l'écosystème de Python et en écrivant de petits scripts.
11 article(s) - ajoutée le 01/07/2020
La base de tout programme effectuant une tâche un tant soit peu complexe est un algorithme, une méthode permettant de manipuler des données pour obtenir un résultat attendu. Dans cette liste, vous pourrez découvrir quelques spécimens d'algorithmes.
10 article(s) - ajoutée le 01/07/2020
À quoi bon se targuer de posséder des pétaoctets de données si l'on est incapable d'analyser ces dernières ? Cette liste vous aidera à "faire parler" vos données.
Plus de listes de lecture