So betten Sie Python für die Entwicklung in C/C ein

高洛峰
Freigeben: 2016-10-17 16:28:13
Original
1295 Leute haben es durchsucht

Wenn Sie Python in C/C einbetten möchten, ist es relativ einfach. Sie müssen lediglich das Include-Dateiverzeichnis und das lib-Dateiverzeichnis von Python in VC hinzufügen. Schauen wir uns an, wie man Python in C/C einbettet.

Öffnen Sie unter VC6.0 Tools->Optionen->Verzeichnisse->Verzeichnisse anzeigen für, fügen Sie das Include-Verzeichnis im Python-Installationsverzeichnis zum Element „Include-Dateien“ hinzu und fügen Sie das Verzeichnis „libs“ zum Element „Bibliotheksdateien“ hinzu .

Öffnen Sie unter VC2005 das Verzeichnis „Tools->Optionen->Projekte und Lösungen->VC“ und führen Sie dann die gleiche Arbeit aus.

Der Code lautet wie folgt:

Beim Ausführen unter Debug ist ein Fehler aufgetreten: „Die Datei python31_d.lib wurde nicht gefunden.“ Der Grund wurde später herausgefunden: Die Datei python31_d.lib muss unter Debug generiert werden, sonst nur Kann unter Release generiert werden

#include <python.h> 
int main()  
{  
Py_Initialize();  
PyRun_SimpleString("Print &#39;hi, python!&#39;");  
Py_Finalize();  
return 0;  
}
Nach dem Login kopieren

Der Prototyp der Py_Initialize-Funktion lautet: void Py_Initialize()

Diese Funktion muss beim Einbetten verwendet werden Python in C/C, es initialisiert Der Python-Interpreter muss diese Funktion aufrufen, bevor er andere Python/C-APIs verwendet. Mit der Funktion Py_IsInitialized können Sie feststellen, ob die Initialisierung erfolgreich ist, und bei Erfolg True zurückgeben.

Der Prototyp der PyRun_SimpleString-Funktion ist int PyRun_SimpleString(const char *command), der zum Ausführen eines Teils des Python-Codes verwendet wird.

Hinweis: Müssen Sie den Einzug zwischen Anweisungen beibehalten?

Der Prototyp der Py_Finalize-Funktion ist void Py_Finalize(), mit dem der Python-Interpreter geschlossen und die vom Interpreter belegten Ressourcen freigegeben werden.

Die Funktion PyRun_SimpleFile kann zum Ausführen von „.py“-Skriptdateien verwendet werden. Der Funktionsprototyp lautet wie folgt:

int PyRun_SimpleFile(FILE *fp, const char *filename);

wobei fp der Zeiger auf die geöffnete Datei ist und Dateiname der Name der auszuführenden Python-Skriptdatei ist. Da die offizielle Version dieser Funktion jedoch von Visual Studio 2003.NET kompiliert wird, kann es bei Verwendung anderer Versionen des Compilers aus Versionsgründen zu einem Absturz der FILE-Definition kommen. Gleichzeitig können Sie der Einfachheit halber die folgende Methode verwenden, um diese Funktion zu ersetzen:

PyRun_SimpleString("execfile('file.py')"); //Execfile zum Ausführen von Python-Dateien verwenden

Py_BuildValue( ) wird verwendet, um Zahlen und Zeichenfolgen in entsprechende Datentypen in Python zu konvertieren (in der Sprache C werden alle Python-Typen als PyObject-Typen deklariert:

PyObject *Py_BuildValue). (const char *format, …..);

PyString_String() wird verwendet, um Variablen vom Typ PyObject* in den Typ char* zu konvertieren, der von der C-Sprache verarbeitet werden kann. Der spezifische Prototyp lautet wie folgt:

char * PyString_String(PyObject *p);

Das Obige ist eine Einführung in die Einbettung von Python in C/C


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!