الربط اللغوي
في البرمجة وتصميم البرمجيات ، الربط هو واجهة برمجة تطبيقات (API) توفر كودًا لاصقًا تم إنشاؤه خصيصًا للسماح للغة برمجة باستخدام مكتبة أجنبية أو خدمة نظام تشغيل (ليست أصلية لتلك اللغة).
صفات
يشير الربط عمومًا إلى تعيين شيء ما إلى شيء آخر. في سياق مكتبات البرامج ، تعتبر الارتباطات مكتبات مغلفة تربط بين لغتين برمجة ، بحيث يمكن استخدام مكتبة مكتوبة للغة واحدة في لغة أخرى. [1] تتم كتابة العديد من مكتبات البرامج بلغات برمجة النظام مثل C أو C++ . لاستخدام مثل هذه المكتبات من لغة أخرى، عادةً من مستوى أعلى ، مثل Java أو Common Lisp أو Scheme أو Python أو Lua ، يجب إنشاء ارتباط بالمكتبة في تلك اللغة، مما قد يتطلب إعادة تجميع كود اللغة، اعتمادًا على مقدار التعديل المطلوب. [2] ومع ذلك، تقدم معظم اللغات واجهة وظيفة أجنبية ، مثل Python و OCamlctypes و Embeddable Common Lisp و cffi. uffi[ 3] [4] [5]
على سبيل المثال، تُستخدم روابط Python عندما يتم استخدام مكتبة C موجودة، مكتوبة لغرض ما، من Python. مثال آخر هو libsvnمكتبة مكتوبة بلغة C لتوفير واجهة برمجة تطبيقات للوصول إلى مستودع برامج Subversion . للوصول إلى Subversion من داخل كود Java، يمكن استخدام، والذي يعتمد على التثبيت ويعمل كجسر بين لغة Java و ، وبالتالي توفير واجهة برمجة تطبيقات تستدعي وظائف من للقيام بالعمل. [6]libsvnjavahllibsvnlibsvnlibsvn
تتضمن الدوافع الرئيسية لإنشاء روابط المكتبة إعادة استخدام البرامج ، وتقليل إعادة تنفيذ المكتبة بعدة لغات، وصعوبة تنفيذ بعض الخوارزميات بكفاءة في بعض اللغات عالية المستوى.
بيئة التشغيل
هذا القسم يحتاج إلى التوسعة ، يمكنك المساعدة بإضافة المزيد إليه. ( نوفمبر 2016 ) |
نماذج الكائنات
- هندسة وسيط طلب الكائن المشترك (CORBA) – نموذج متعدد الأنظمة الأساسية واللغات
- نموذج كائن المكون (COM) – نموذج متعدد اللغات خاص
بنظام التشغيل Microsoft Windows فقط
- نموذج كائنات المكونات الموزعة (DCOM) – امتداد يمكّن COM من العمل عبر الشبكات
- نموذج كائنات المكونات عبر الأنظمة الأساسية ( XPCOM ) – نموذج تطبيقات Mozilla عبر الأنظمة الأساسية
- البنية الأساسية للغة المشتركة – نموذج متعدد المنصات للغة .NET Framework
- Freedesktop.org D-Bus – نموذج مفتوح متعدد المنصات للغات
هذا القسم يحتاج إلى التوسعة ، يمكنك المساعدة بإضافة المزيد إليه. ( نوفمبر 2016 ) |
الآلات الافتراضية
هذا القسم يحتاج إلى التوسعة ، يمكنك المساعدة بإضافة المزيد إليه. ( نوفمبر 2016 ) |
النقل
- تعريف نموذج الكائن المحمول متعدد الأنظمة الأساسية واللغات
هذا القسم يحتاج إلى التوسعة ، يمكنك المساعدة بإضافة المزيد إليه. ( نوفمبر 2016 ) |
انظر أيضا
This article is in list format but may read better as prose. (November 2016) |
- واجهة برمجة التطبيقات (API)
- واجهة التطبيق الثنائية (ABI)
- اتفاقية الاتصال
- SQL المضمنة
- تشويه الاسم
- مولد الغلاف والواجهة المبسط ( SWIG ) – مولد ربط الواجهة من العديد من اللغات إلى العديد من اللغات، مفتوح المصدر
- وظيفة الغلاف
مراجع
- ^ "الملحق أ. إنشاء رابط لغوي للقاهرة". موقع Cairographics.org . تم الاسترجاع في 2014-04-02 .
- ^ "المعايير وواجهات برمجة التطبيقات والواجهات والروابط". Acm.org. مؤرشف من الأصل في 2015-01-16 . تم الاسترجاع في 2014-04-02 .
- ^ "ctypes – مكتبة وظائف أجنبية لبايثون". وثائق بايثون v3.8.3 . Docs.python.org . تم الاسترجاع في 2020-06-04 .
- ^ هيكي، جيسون؛ مادهافابيدى، أنيل؛ مينسكي، يارون (2013). "Real Worl OCaml، الفصل 19. واجهة الوظيفة الأجنبية". realworldocaml.org . تم الاسترجاع في 2015-07-19 .
- ^ "مقدمة – دليل مستخدم CFFI". Common-lisp.net . تم الاسترجاع في 2014-04-02 .
- ^ "Subversion JavaHL FAQ". Subclipse.tigris.org. 2013-06-18 . تم الاسترجاع في 2014-04-02 .
روابط خارجية
- JTC1/SC22/WG11 - تقنيات الربط، معيار ISO لربط اللغات
- ما هو الربط اللغوي؟
