🌐 Sprache
Englisch
| 简体中文
| 繁體中文
| 日本語
| 한국어
| हिन्दी
| ไทย
| Französisch
| Deutsch
| Spanisch
| Italienisch
| Russisch
| Portugiesisch
| Niederländisch
| Polnisch
| العربية
| فارسی
| Türkisch
| Vietnamesisch
| Indonesisch
| অসমীয়া
Auto Bind Python aus CC++ ===================
Ein ausreichend einfach zu bedienendes und konfigurierbares Projekt zur automatischen Bindung von C/C++-Code an Python-Code und zur Erstellung von whl-Paketen
Dieses Projekt wurde geklont von:https://github.com/Neutree/c_cpp_project_framework und der Kompilierungsteil ist identisch mit dem ursprünglichen Repository
Beispielcode für die automatische Bindung mit pybind11:https://github.com/sipeed/MaixPy/tree/main/components/maix
Schnellstart
- 1. Klonen Sie dieses Repository und gehen Sie in das Verzeichnis /examples/demo
Dabei steht x86 für Kompilierung auf dem lokalen Rechner, arm64 für Kompilierung auf MaixCam2 und RISCV64 für Kompilierung auf MaiCam/Pro
- 2. Schreiben Sie eine C/C++-Funktion sowie eine hpp-Headerdatei; der Name des whl-Pakets sollte als Dateiname verwendet werden, um die automatische Erkennung zu erleichtern:
C++
namespace add::test
{
int add(int a, int b)
{
return a + b;
}
}
Schreiben Sie für die entsprechenden Funktionen einen @modul-Kommentar, gefolgt vom Funktionspfad:
C++
namespace add::test
{
/
- My function, add two integer.
- @param a arg a, int type
- @param b arg b, int type
- @return int type, will a + b
- @module add.test.add
*/
int add(int a, int b);
}
Die erste Zeile ist die Funktionsbeschreibung, @param beschreibt die Parameter, @return beschreibt den Rückgabewert (kann leer sein)
Wenn Sie nur kompilieren und als whl-Datei verpacken möchten, muss main.cpp nicht geändert werden
Mit python project build können Sie die Kompilierung und das Packen der whl-Datei starten
Nach der Installation der kompilierten whl-Datei kann direkt aufgerufen werden:
Python
import add
add.test.add(1,1)
``
Beachten:
- Eine Header-Datei steht für einen Modulnamen und gibt das zu importierende Modul an, z. B. entspricht add.hpp dem Import von add; der Modulname muss mit add beginnen.
- Wenn Sie cpp_bind_python.py direkt ausführen, wird nur die gebundene cpp-Datei erzeugt; mit dem Zusatz --doc DOC kann die Dokumentation automatisch aus Kommentaren generiert werden.