Commodore Amiga sayı 4, sayfa 21

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 21

2. Bölüm

AMIGA Dergisi'nin ikinci sayısıyla başladığım AMISGA OS yazısına teknik aksaklıklar nedeniyle kısa bir ara vermek zorunda kaldık. Fakat bu ay bunları telafi edebileceğimi zannediyorum. Geçen seferki yazımı bitirirken, bu bölümde 'resident library'lerin kullanımını anlatacağımı söylemiştim. Ama önce bunların ne oldukları sorusuna açıklık getirmek istiyorum. Her ne kadar geçen yazıda bunu anlatmış olsam da, hem o sayıyı okuyamamış olanlar, hem de oradaki açıklamayı yetersiz bulmuş olanlar için baştan başlamak daha iyi olur diye düşündüm. Ayrıca sizden bir ricam olacak. LÜTFEN yazılarımda anlayamadığınız veya eksik bulduğunuz yerler olursa bana bildirin. Bunu dergiye yazarak yapabilirsiniz. Bu isteğimin sebebi, konunun geniş kapsamlı olması nedeni ile yazılarda bütünlük ve bilgi yönünden eksikler oluşabileceğinden endişe- Her ne kadar gayret etsem de kendi yazılarımı tarafsız bir şekilde okumam zor oluyor. Bu yüzden sizden gelecek eleştiri ve uyarılar hem yazılırımın daha kolay anlaşılır hale gelmesini sağlar, hem de kafanıza takılan sorulara cevap bulabilirsiniz. Ayrıca bana sadece yazılarımda geçen konular hakkında değil aklınıza gelen her konuda soru sorabilirsiniz. Bu sorularınıza elimden geldiği kadar doyurucu cevaplar vermeye çalışmak inanın bana büyük zevk verecek. Bu yüzden tekrar rica ediyorum, LÜTFEN AKLINIZA TAKILAN SORULARI SORUN! Neyse, gelelim konumuza. “Resident library' (kalıcı kütüphane) nedir, ne değildir? Önce basit cevap: Bu bir çeşit alt-programcıklar (Fonksiyonlar) grubudur. AMIGSA işletim sisteminin kendine özgü özelliklerini tam anlamıyla kullanabilmek için, sadece kullandığınız bilgisayar dilinin emirlerini kullanmanız genellikle yeterli olmaz. Bu yüzden nın işletim sistemini yazanlar, kullanılan bilgisayar diline bağlı kalmadan çağrılabilecek bu fonksiyon grublarını yaratmışlar. Peki bu Tibrary'ler neye benzer? Birkaç örneğin görmek istersiniz, açılış disketinizin adlı directory'sine bir göz atabilirsiniz. Burada 'diskfont.library', gibi bazı dosyalar göreceksiniz. Bunlar, daha az ihtiyaç duyuldukları için gerektiğinde diskten yüklenmek üzere buraya konmuş bazı library'lerdir. Asıl önemli olanlar ise KickStart'ın bir parçası olarak ROM'a, yani silinmez hafızaya konulmuşlardır. Bunların arasında 'exec.library', 'graphics.library', “dos.library' sayılabilir. Monitor veya debugger cinsinden bazı programlar (Örneğin Xoper) hafızadaki bazı bilgilerin (ve bu arada resident library'lerin de) listesini görme imkanı sunarlar. ROM'daki ve o anda disketten RAM'a yüklenmiş bulunan library'leri böylece görebilirsiniz. Library bilgisayar terminolojisinde sık kullanılan bir sözcüktür. Bu yüzden bazı yanlış anlamaları engellemek için burada bir ekleme yapmak istiyorum. Pek çok bilgisayar dili, örneğin C, Pascal ve Assembler, programcıya kendisi veya başkası tarafından yazılan altprogramları birleştirip saklama ve gerekirse bunları yeni programlarda kullanma imkanı tanır. Bu şekilde birleştirip saklanan altprogramlara da genellikle library” adı verilir. Ancak bunlar ile bu yazıda sözünü ettiğim library'ler arasında büyük fark vardır. Bu altprogramlar, sonunda oluşturulan makine kodu çalıştırılabilir (Executable) programın yaratılmasının son aşamasında (link-time) programın içine katılırlar, halbuki 'resident library'ler programın içine katılmaz, program çalışırken (Runtime) bu library'leri 'açar' ve içlerindeki fonksiyonları kullandıktan sonra tekrar 'kapatır'. Bu iki tür library'yi diskette ayırt etmek zor olmaz, çünkü library'lerin isimleri, yukarıdaki örneklerde örneklerde de görebileceğiniz gibi “library” diye biter ve kendilerinin adlı bir directory'de durması gereklidir. Halbuki link-time library'lerin isimleri genellikle diye biter ve bunlar genellikle mpiler disketlerinden falan bulunurlar. Peki bu library'ler nasıl kullanılırlar? Bu konuda birkaç dilde birden örnekler vermeye çalışacağım. İlk örnek C'de olacak, Daha sonra da sıra Assembler ve AmigaBASIC'e gelecek. İşte ilk örnek programımız. Bu C programı intuition ve graphics library'leri açıyor ve bu İibrary'lerin içindeki fonksiyonları kullanarak bir 'Window' (pencere) açıyor. Bu pencereye bir yazı yazdıktan sonra 5 saniye bekliyor ve pencereyi kapatıp çıkıyor.

Klavyeyle gezinmek için ← ve → tuşları.