Ana içeriğe geç
Programlama

Zig için derleme sırasında yama uygulayan zig-patch geliştirildi

Öne çıkanlar

  • zig-patch, harici araçlara ihtiyaç duymadan standart kütüphaneye derleme aşamasında yama uyguladı.
  • Standart kütüphanedeki Unix soket hatası, yaklaşık 60 satırlık bir diff dosyasıyla çözüldü.
  • staticio yaması sayesinde örnek uygulamanın ikili dosya boyutu 145 kilobayttan 4,9 kilobayta indi.

Zig 0.17.0 sürümünde standart kütüphanede yer alan Unix soket bağlantı hatası, geliştiricileri resmi güncellemeleri beklemeden yerel çözümler üretmeye yöneltti. Zig sürümleri arasındaki 6 ila 9 aylık yayın döngüsü nedeniyle kararlı sürümde kalırken kütüphane hatalarını düzeltmek isteyen yazılımcılar için zig-patch aracı kullanıma sunuldu. Araç, harici bağımlılıklara gerek duymadan derleme aşamasında standart kütüphaneye doğrudan yama uygulama imkanı tanıyor.

Sistem programcıları, tüm standart kütüphaneyi projeye kopyalamak yerine küçük yama dosyaları oluşturarak standart modülün yerini almasını sağlıyor. zig-patch aracı derleme adımı olarak çalıştığı için sistemde git veya patch araçlarının yüklü olmasını gerektirmiyor ve Zig'in kendi önbellek mekanizmasını kullanıyor. Satır numaralarından bağımsız çalışan sistem, ilgili kod blokları eşleştiği sürece yamayı başarıyla uyguluyor ve standart kütüphane değiştiğinde derleme anında hata veriyor.

Makalede ayrıca zig-patch altyapısını kullanan zig-staticio projesine yer verildi. Standart giriş-çıkış arayüzünü derleme zamanında optimize eden bu yöntemle, Linux ortamında 145 kilobaytlık temel bir program boyutu doğrudan çağrılar ve özel işlevlerle 4,9 kilobayta kadar düşürüldü. Hem Zig 0.16.0 hem de 0.17.0 sürümlerini destekleyen aracın yalnızca standart kütüphane için değil, harici C kütüphaneleri için de kullanılabildiği açıklandı.

Kaynak

Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.