Application binary interface - Vikipedi
İçeriğe atla
Ana menü
Gezinti
  • Anasayfa
  • Hakkımızda
  • İçindekiler
  • Rastgele madde
  • Seçkin içerik
  • Yakınımdakiler
Katılım
  • Deneme tahtası
  • Köy çeşmesi
  • Son değişiklikler
  • Dosya yükle
  • Topluluk portalı
  • Wikimedia dükkânı
  • Yardım
  • Özel sayfalar
Vikipedi Özgür Ansiklopedi
Ara
  • Bağış yapın
  • Hesap oluştur
  • Oturum aç
  • Bağış yapın
  • Hesap oluştur
  • Oturum aç

İçindekiler

  • Giriş
  • 1 Temel özellikler
  • 2 ABI ve taşınabilirlik
  • 3 ABI'nin yazılım geliştirmedeki rolü
  • 4 API ile ABI arasındaki temel farklar
  • 5 Kaynakça

Application binary interface

  • العربية
  • Azərbaycanca
  • Català
  • Čeština
  • Deutsch
  • English
  • Español
  • فارسی
  • Suomi
  • Français
  • Bahasa Indonesia
  • İtaliano
  • 日本語
  • 한국어
  • Bahasa Melayu
  • Norsk bokmål
  • Polski
  • Português
  • Русский
  • Українська
  • Oʻzbekcha / ўзбекча
  • Tiếng Việt
  • 中文
Bağlantıları değiştir
  • Madde
  • Tartışma
  • Oku
  • Değiştir
  • Kaynağı değiştir
  • Geçmişi gör
Araçlar
Eylemler
  • Oku
  • Değiştir
  • Kaynağı değiştir
  • Geçmişi gör
Genel
  • Sayfaya bağlantılar
  • İlgili değişiklikler
  • Kalıcı bağlantı
  • Sayfa bilgisi
  • Bu sayfayı kaynak göster
  • Kısaltılmış URL'yi al
  • Karekodu indir
Yazdır/dışa aktar
  • Bir kitap oluştur
  • PDF olarak indir
  • Basılmaya uygun görünüm
Diğer projelerde
  • Vikiveri ögesi
Görünüm
Vikipedi, özgür ansiklopedi
Bu maddedeki bilgilerin doğrulanabilmesi için ek kaynaklar gerekli. Lütfen güvenilir kaynaklar ekleyerek maddenin geliştirilmesine yardımcı olun. Kaynaksız içerik itiraz konusu olabilir ve kaldırılabilir.
Kaynak ara: "Application binary interface" – haber · gazete · kitap · akademik · JSTOR
(Haziran 2025) (Bu şablonun nasıl ve ne zaman kaldırılması gerektiğini öğrenin)

Application binary interface (ABI)((Türkçesi: Uygulama İkili Arayüzü) bilgisayar bilimlerinde, ikili (binary) program modülü arasındaki arayüzü tanımlar. Genellikle bu modüllerden biri bir kütüphane veya işletim sistemi bileşeni, diğeri ise kullanıcı tarafından çalıştırılan bir programdır. ABI, kaynak kod seviyesinde tanımlanan Application Programming Interface (API) ile karşılaştırıldığında, daha düşük seviyede, donanım ve derleyiciye bağımlı bir arayüzdür. API, kaynak kodu seviyesinde erişimi tanımlarken, ABI derlenmiş kod seviyesinde erişimi tanımlar.[1]

Temel özellikler

[değiştir | kaynağı değiştir]

İşlemci komut seti: Hangi işlemci komutlarının ve uzantılarının kullanılabileceğini belirler.

Veri tiplerinin boyutu, yerleşimi ve hizalaması: Temel veri tiplerinin bellekte nasıl saklanacağını ve erişileceğini tanımlar.

Fonksiyon çağırma kuralları (calling convention): Fonksiyonlara parametrelerin nasıl aktarılacağı, dönüş değerlerinin nasıl alınacağı, hangi yazmaçların kullanılacağı, yığının (stack) nasıl organize edileceği ve fonksiyon çağrısından sonra yığının temizlenmesinden kimin sorumlu olacağı gibi detayları içerir

İsim karmaşası (name mangling): Özellikle C++ gibi dillerde, fonksiyon ve değişken isimlerinin derleyici tarafından nasıl değiştirileceğini belirler.

İstisna aktarımı (exception propagation): Hataların ve istisnaların nasıl ele alınacağını tanımlar.

Sistem çağrıları: Uygulamaların işletim sistemine nasıl sistem çağrısı yapacağını ve hangi sistem çağrı numaralarının kullanılacağını belirler.

İkili dosya formatları: Nesne dosyalarının, program kütüphanelerinin ve çalıştırılabilir dosyaların formatını tanımlar (örneğin ELF)

ABI ve taşınabilirlik

[değiştir | kaynağı değiştir]

Bir ABI, belirli bir donanım mimarisi ve işletim sistemi kombinasyonu için tanımlanır. Bu nedenle, farklı mimariler (örneğin x86, ARM) veya işletim sistemleri arasında ortak bir ABI oluşturmak genellikle mümkün değildir. Ancak, Java Virtual Machine gibi sanal makineler, farklı platformlar arasında taşınabilirliği sağlamak için kendi ABI'lerini tanımlarlar.

ABI'nin yazılım geliştirmedeki rolü

[değiştir | kaynağı değiştir]

İkili Uyumluluk (Binary Compatibility): ABI uyumu korunduğu sürece, yazılım bileşenlerinin farklı sürümleri arasında yeniden derleme gerekmeksizin çalışabilirlik sağlanır.

Çoklu Dil ve Derleyici Desteği: Farklı programlama dilleri veya derleyicilerle yazılmış kodların birlikte çalışabilmesi için ABI uyumu gereklidir.

Platforma Özel Derleme: Derleyici ve diğer geliştirme araçları, hedef platformun ABI'sine uygun kod üretirler.

API ile ABI arasındaki temel farklar

[değiştir | kaynağı değiştir]

API, kaynak kod seviyesinde bir arayüzdür ve genellikle bir yazılım bileşeninin diğer bir bileşenle nasıl iletişim kuracağını tanımlar. API, fonksiyon isimleri, parametreler, veri tipleri ve dönen değerler gibi bilgileri içerir ve donanım ya da derleyiciye bağımlı değildir. Yazılım geliştiricileri API’yi kullanarak kodlarını yazar ve derlerler.

ABI ise derlenmiş kod seviyesinde bir arayüzdür. Bir programın veya kütüphanenin, başka bir program veya işletim sistemiyle ikili (binary) düzeyde nasıl iletişim kuracağını belirler. ABI, veri tiplerinin bellekte nasıl saklanacağı, fonksiyonlara parametrelerin nasıl aktarılacağı, dönüş değerlerinin nasıl alınacağı ve sistem çağrılarının nasıl yapılacağı gibi donanım ve derleyiciye bağımlı teknik detayları kapsar. ABI uyumu, farklı yazılım bileşenlerinin yeniden derlenmeden birlikte çalışabilmesini sağlar.

Kaynakça

[değiştir | kaynağı değiştir]

"Android ABI'lar". 9 Nisan 2025 tarihinde kaynağından arşivlendi. Erişim tarihi: 2 Haziran 2025. 

  1. ^ "API ve ABI". 17 Temmuz 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 2 Haziran 2025. 
"https://tr.wikipedia.org/w/index.php?title=Application_binary_interface&oldid=35897207" sayfasından alınmıştır
Kategoriler:
  • Uygulama programlama arayüzü
  • İşletim sistemi teknolojisi
Gizli kategoriler:
  • Ek kaynaklar gereken maddeler Haziran 2025
  • Ek kaynaklar gereken tüm maddeler
  • Sayfa en son 11.19, 24 Ağustos 2025 tarihinde değiştirildi.
  • Metin Creative Commons Atıf-AynıLisanslaPaylaş Lisansı altındadır ve ek koşullar uygulanabilir. Bu siteyi kullanarak Kullanım Şartlarını ve Gizlilik Politikasını kabul etmiş olursunuz.
    Vikipedi® (ve Wikipedia®) kâr amacı gütmeyen kuruluş olan Wikimedia Foundation, Inc. tescilli markasıdır.
  • Gizlilik politikası
  • Vikipedi hakkında
  • Sorumluluk reddi
  • Davranış Kuralları
  • Geliştiriciler
  • İstatistikler
  • Çerez politikası
  • Mobil görünüm
  • Wikimedia Foundation
  • Powered by MediaWiki
Application binary interface
Konu ekle