Maison  >  Article  >  développement back-end  >  Explication détaillée de la façon dont Python appelle les fonctions du langage C

Explication détaillée de la façon dont Python appelle les fonctions du langage C

黄舟
黄舟original
2017-10-03 05:43:402543parcourir

L'éditeur suivant vous présentera un exemple de la façon dont Python appelle les fonctions du langage C. L'éditeur le trouve plutôt bon, je vais donc le partager avec vous maintenant et le donner comme référence pour tout le monde. Suivons l'éditeur et jetons un coup d'œil

Bien que Python soit tout-puissant, certaines fonctions spéciales nécessitent le langage C pour être exécutées. De cette façon, vous devez utiliser python pour appeler le code c

Le processus spécifique :

C écrit les fonctions pertinentes et les compile dans un library

Chargez ensuite ces bibliothèques en python et spécifiez la fonction appelante.

Ces fonctions peuvent être char, int, float et peuvent également renvoyer des pointeurs.

L'exemple suivant :

Appelez la fonction c via python et renvoyez la "hello, world string"

Nouveau langage c Le fichier hello.c


touch hello.c


#include <stdio.h>

char *get_str()
{
 return "hello,world"
}

est compilé dans une bibliothèque


gcc -o hello.so --share -fPIC hello.c

Créer un nouveau script python


touch test.py


from ctypes import *

dll = CDLL("./hello.so")
dll.get_str.restype = c_char_p
str = dll.get_str()
print(string_at(str, 11))

Exécuter le script python


[feng@arch python_c]$ python test.py 
hello,world

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn