Web Analytics

Auto-bind-Python-from-CC-

⭐ 3 stars Arabic by Taoxuan-168

🌐 اللغة

ربط بايثون تلقائياً من CC++ ===================

مشروع بسيط وسهل الاستخدام وقابل للتخصيص لتحويل كود C/C++ تلقائياً إلى كود بايثون وإنشاء حزمة whl

تم استنساخ هذا المشروع من:
https://github.com/Neutree/c_cpp_project_framework وجزء كود التجميع مطابق تماماً للمستودع الأصلي

كود مرجعي للربط التلقائي باستخدام pybind11:
https://github.com/sipeed/MaixPy/tree/main/components/maix

البدء السريع

  • 1. استنساخ هذا المستودع والدخول إلى دليل /examples/demo
استخدم الأمر python project.py menuconfig للدخول إلى واجهة رسومية لإعداد أداة البناء وسلسلة الأدوات واختيار تجميع ملف whl alt text
حيث أن x86 مخصص للبناء على الجهاز المحلي، و arm64 مخصص للبناء على MaixCam2، و RISCV64 للبناء على MaiCam/Pro
alt text
  • 2. اكتب دالة C/C++ وملف رأس hpp، ويجب أن يكون اسم ملف الحزمة whl مطابقًا لاسم الملف لتسهيل التعرف التلقائي:
``C++ namespace add::test { int add(int a, int b) { return a + b; } }
اكتب تعليق @modul للدالة المقابلة، يليها مسار الدالة:
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); }
السطر الأول هو مقدمة الدالة، @param هو شرح المعاملات، @return هو شرح قيمة الإرجاع (يمكن أن يكون فارغًا)
إذا كنت تحتاج فقط إلى التجميع والتعبئة كملف whl فلا حاجة لتعديل main.cpp
استخدم python project build لبدء التجميع وتعبئة ملف whl
بعد تثبيت ملف whl الذي تم تجميعه يمكنك استدعاءه مباشرة:
Python import add add.test.add(1,1)
`` ملاحظة:
  • كل ملف رأس يمثل اسم وحدة، ويشير إلى الوحدة التي يجب استيرادها، على سبيل المثال add.hpp يقابل import add، ويجب أن يبدأ اسم الوحدة بـ add
  • تشغيل cpp_bind_python.py مباشرةً سيولد فقط ملف cpp المرتبط، وإضافة الوسيط --doc DOC يمكن أن تولد التوثيق تلقائياً من التعليقات
--- Tranlated By
Open Ai Tx | Last indexed: 2026-03-06 ---