Dil bağlama - Language binding
Olarak programlama ve yazılım tasarımı , bağlayıcı bir bir uygulama programlama arayüzü sağlar (API) tutkal kodu özellikle izin vermek için yapılmış bir programlama dili yabancı kullanımı kitaplığı ya da işletim sistemi hizmeti (bu dil için doğal olmayan bir).
özellikleri
Bağlama genellikle bir şeyin diğerine eşlenmesi anlamına gelir. Bağlamında yazılım kütüphaneleri , bağlamaları vardır sarıcı kütüphaneler köprü iki o programlama dilleri , bir böylece kütüphane Bir dil için yazılı başka bir dilde kullanılabilir. Birçok yazılım kitaplığı, C veya C++ gibi sistem programlama dillerinde yazılmıştır . Bu tür kitaplıkları Java , Common Lisp , Scheme , Python veya Lua gibi başka bir dilden, genellikle daha yüksek düzeyden kullanmak için , o dilde kitaplığa bir bağlama oluşturulmalıdır ve muhtemelen dilin kodunun yeniden derlenmesini gerektirir . gereken değişiklik miktarı. Ancak, çoğu diller sunuyoruz yabancı işlevi arabirimi böyle Python'un gibi, ocaml 's ve Katıştırılabilir Common Lisp ' ler ve .
ctypes
cffi
uffi
Örneğin, Python bağlamaları, bir amaç için yazılmış mevcut bir C kitaplığı Python'dan kullanılacaksa kullanılır. Başka bir örnek, Subversion yazılım deposunalibsvn
erişmek için bir API sağlamak için C ile yazılmış olandır . Subversion'a Java kodu içinden erişmek için, kurulmaya bağlı olan ve Java ile dili arasında bir köprü görevi gören , böylece işi yapmak için işlevleri çağıran bir API sağlayan kullanılabilir .
libsvnjavahl
libsvn
libsvn
libsvn
Kitaplık bağlamaları oluşturmanın başlıca nedenleri arasında , bir kitaplığın birkaç dilde yeniden uygulanmasını azaltmak için yazılımın yeniden kullanımı ve bazı yüksek düzeyli dillerde bazı algoritmaları verimli bir şekilde uygulamanın zorluğu yer alır .
Çalışma zamanı ortamı
Nesne modelleri
- Ortak Nesne İstek Aracısı Mimarisi (CORBA) – platformlar arası dil modeli
-
Bileşen Nesne Modeli (COM) – Yalnızca Microsoft Windows çapraz dil modeli
- Dağıtılmış Bileşen Nesne Modeli (DCOM) – COM'un ağlar üzerinden çalışmasını sağlayan uzantı
- Çapraz Platform Bileşen Nesne Modeli ( XPCOM ) – Mozilla uygulamaları çapraz platform modeli
- Ortak Dil Altyapısı – .NET Framework platformlar arası dil modeli
- Freedesktop.org D-Bus – platformlar arası açık dil modeli
Sanal makineler
taşıma
- Taşınabilir nesne – platformlar arası dil nesne modeli tanımı
Ayrıca bakınız
- Uygulama programlama arayüzü (API)
- Uygulama ikili arabirimi (ABI)
- çağrı kuralı
- Gömülü SQL
- isim değiştirme
- Basitleştirilmiş Sarıcı ve Arayüz Oluşturucu ( SWIG ) – birçok dilden birçok dile arayüz bağlama oluşturucu, açık kaynak
- sarıcı işlevi
Referanslar
Dış bağlantılar
- JTC1/SC22/WG11 - Binding Techniques , dil bağlamaları için bir ISO standardı
- Dil bağlama nedir?