Heim >Backend-Entwicklung >Python-Tutorial >Detaillierte Erklärung, wie Python C-Sprachfunktionen aufruft

Detaillierte Erklärung, wie Python C-Sprachfunktionen aufruft

黄舟
黄舟Original
2017-10-03 05:43:402611Durchsuche

Der folgende Editor zeigt Ihnen ein Beispiel dafür, wie Python C-Sprachfunktionen aufruft. Der Herausgeber findet es ziemlich gut, deshalb teile ich es jetzt mit Ihnen und gebe es als Referenz. Folgen wir dem Editor und werfen wir einen Blick darauf

Obwohl Python allmächtig ist, erfordern einige spezielle Funktionen zur Ausführung die Sprache C. Auf diese Weise müssen Sie Python verwenden, um C-Code aufzurufen

Der spezifische Prozess:

C schreibt relevante Funktionen und kompiliert sie in a Bibliothek

Laden Sie dann diese Bibliotheken in Python und geben Sie die aufrufende Funktion an.

Diese Funktionen können char, int, float sein und auch Zeiger zurückgeben.

Das folgende Beispiel:

Rufen Sie die c-Funktion über Python auf und geben Sie den „Hallo, Welt-String“ zurück

Neu c-Sprache Die Datei hello.c


touch hello.c


#include <stdio.h>

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

wird in einer Bibliothek zusammengestellt


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

Erstellen Sie ein neues Python-Skript


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))

Führen Sie das Python-Skript aus


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

Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung, wie Python C-Sprachfunktionen aufruft. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn