RunTime Library'nin Görevi

Başlatan yamak, 26 Kasım 2013, 12:53:00

yamak

Bir programlama dilindi runtime library'nin görevi tam olarak nedir.Okuduğum bazı şeyler kafamı karıştırdı.Bu konuda beni aydınlatabilir misiniz?

Kabil ATICI

Örneğim Visual basic gibi bir program ile yazılan uygulamamız derlendiği zaman uygulamamıç içine bazı bileşenleri dahil edilmez.

İşte bu programlarla yazılan uygulamaların çalıştırılabilmesi için gerekli bileşenlerin yer aldığı kütüphane diyebiliriz. Bu bileşenleri bilgisayara yüklediğimiz zaman (kendimizin oluşturduğu özel bileşenler hariç) derlemiş olduğumuz uygulamamız çalışır. Yoksa şu eksik, bu eksik diye uyarı ve mesaj verir.

Şu anki C# ve visual basic uygulamalarını çalıştırabilmek için Freameworks ihtiyaç duyulması gibi.

Eğer tüm gerekli bileşenler uygulama içine gömülürse, derlenen uygulama şişer ve bazı bilgisayarlarda çalışmama durumu olabilir.
ambar7

yamak

Hocam benim kafamı karıştıran nokta embedded platformlarda.Mesela linux üzerinde c ile yazılmış bir program çalışacağı zaman libc.so library sine ihtiyaç duymakta bu kütüphane yoksa çalışmaz yani.Fakat atıyorum ben cortex-m3 için c ile bir program yazdım.Burada runtime library nin görevi ne oluyor.

yamak

Tamam da hocam işin içinde bir işletim sistemi olduğunda bu dediğiniz anlamlandırabiliyorum.Yukarıda dediğim gibi atıyorum linux ortamında  libc.so dosyası atıyorum /usr/lib'in içinde.Bu tarz platformlarda birden fazla uygulama aynı anda çalıştığı için hepsi bu library kullanıyo.Ama cortex-m3-m4 gibi MMU su olmayan sistemlerde zaten tek bir uygulama koşuyo.Bu durumda runtime library'deki fonksiyonlar derleme esnasında link edilmesi gerekmez mi?E böyle  olunca da adının runtime library olması saçma oluyo.İşte kafamı karıştıran durum bu.

yamak

Anladım hocam çok teşekkür ederim.Peki hocam bu keil micro-lib i c'nin standart library'sinden çok bi farkı var mı?Kendi sitesinde baya bi optimize edildiğini söylüyo gerçekten de micro-lib i kullanmak bize çok fazla avantaj sağlar mı?

yamak

Bilgiler için sağolun hocam.Kafam baya bi karışmıştı.