Forum: D Programlama Dili RSS
D Runtime nedir?
zafer #1
Üye Tem 2009 tarihinden beri · 687 mesaj · Konum: Ankara
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Konu adı: D Runtime nedir?
Merhaba,
D runtime nedir? Ne amaçla kullanılır? Nasıl çalışır ve oluşturduğumuz D programlarının neresinde yer alır?
https://github.com/zafer06 - depo
acehreli (Moderatör) #2
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4389 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Her dilde bir runtime var. Kodları programın çalışması sırasında destekleyen kodlara deniyor.

D'dekiler şunlar:

  • Program çalıştırılırken verilen parametre değerlerini (arguments) bir araya getirmek

  • Programın kullanacağı ve dil kavramlarıyla ilgili ortamı hazırlamak. Örneğin, çöp toplayıcıyı ilklemek

  • Programın main ile başlayan noktasını parametre değerleri ile çağırmak

  • Dil kurallarını desteklemek. Örneğin, bir diziye ~= işleci uygulandığında dizinin ilklenmiş olup olmadığına bakmak, sonra sonunda yer olup olmadığına bakmak, yokta çöp toplayıcıdan yeni yer ayırmak, elemanları oraya taşımak, vs. (Eşleme tabloları (AA), Unicode desteği, vs.)

  • Programın nasıl sonlandığına göre çıktıya Assert bilgisi veya Exception bilgisi yazmak, çalıştıran ortama olası dönüş değerini döndürmek

Onları kafadan yazdım. Referans olarak, tam proje şurada:

  https://github.com/dlang/druntime

Ali
zafer #3
Üye Tem 2009 tarihinden beri · 687 mesaj · Konum: Ankara
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Peki, DRuntime bizim D ile oluşturduğumuz çalıştırılabilir dosyaların içine mi yerleşiyor? Runtime kodlarını derleyici otomatik olarak mı ekliyor?
https://github.com/zafer06 - depo
acehreli (Moderatör) #4
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4389 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Evet ve evet. :)

Bu da gömülü sistemlerde D kullanmak isteyen kişiler için program boyutu açısından sorun oluşturuyor. Druntime'ı programdan çıkartmak için farklı yöntemler deneyenler var:

  • Druntime işlevlerini bağlayıcı yoluyla çıkartıyorlar

  • Standart olarak gelen druntime işlevleri yerine aynı isimdeki kendi boş işlevlerini yazıyorlar

Sonuçta kısıtlı da olsa D kullanabiliyorlar. Ben bundan fazla ayrıntısını bilmiyorum ama kısa süre önce Reddit'te bir tanesinin blogu çıkmıştı:

  https://www.reddit.com/r/programming/comments/5ug222/bios_…

EK: Aslında o blogun bir önceki yazısı konuyla daha ilgili. Druntime'ın programdan çıkartılmasını anlatıyor:

  https://theartofmachinery.com/2016/12/18/d_without_runtime…

Ali
Doğrulama Kodu: VeriCode Lütfen resimde gördüğünüz doğrulama kodunu girin:
İfadeler: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Özel Karakterler:
Bağlı değilsiniz. · Şifremi unuttum · ÜYELİK
This board is powered by the Unclassified NewsBoard software, 20100516-dev, © 2003-10 by Yves Goergen
Şu an: 2017-03-23, 11:16:29 (UTC -07:00)