JAR (JAVA Archive, JAVA Arşivi)

Yazan : Şadi Evren ŞEKER JAVA’nın standart kurulum paketi içerisinde yer alan jar uygulamasının amacı birden fazla sınıfı tek bir paket ve dolayısıyla dosya içerisinde toplamasıdır. JAR dosyalarını sıkıştırma olarak düşünmek yerine bir arşivleme olarak düşünmek gerkir. Buradaki amaç tek bir dosyada bütün sınıfların (Class) toparlanmasıdır. Bir jar dosyasını oluşturmak için : jar cvf dosya.jar […]

Devam

Yükleyici (Loader)

Yazan : Şadi Evren ŞEKER Yükleyiciler basitçe bir programı diskten alıp hafızaya yüklemekle sorumlu programlardır. Bir program yazıldıktan ve derlendikten (compile) sonra programın makine dilindeki karşılığı elde edilir. Bu karşılık tam bir kod olmayıp harici kütüphanelerden faydalanıyor olabilir. Bu kütüphaneler de programa dahil edilip tam bir program elde edildikten sonra (yani bağlandıktan sonra (linker) ) […]

Devam

strcpy (String Copy, Dizgi Kopyalama)

Yazan : Şadi Evren ŞEKER C / C++ dillerinde bir dizginin (string) içeriğini diğer dizginin içerisine kopyalamaya yarar. Örneğin aşağıda a dizgisinin içindeki ilk değer ikinci değişkenin içine kopyalanmıştır: char *a = “sadi evren seker”; char b[200]; strcpy(b,a); Burada üzerine kopyalanan ilk, içinden dizginin okunduğu ikinci sırada verilmelidir. Örnek kod aşağıda verilmiştir: #include <stdio.h> #include […]

Devam

atoi (ASCII to Integer, ASCII kodun tam sayısı)

Yazan : Şadi Evren ŞEKER C dilinde tanımlı olan bu fonksiyon basitçe verilen ascii değerin integer karşılığını döndürür. Yani dizgi (string) yapısındaki bir bilgiyi tamsayı (integer yapısına çevirir) int x = atoi ( “123”); satırından sonra x değişkeninin içinde sayısal olarak 123 değeri bulunur. Örnek kod aşağıda verilmiştir: #include <stdio.h> #include <stdlib.h> int main () […]

Devam

Tek Geçişli Çevirici (One Pass Assembler)

Yazan : Şadi Evren ŞEKER Tek geçişli bir çeviricinin (assembler) karşılaştığı en büyük problem çeviricinin kaynak koddaki (Assembly dilindeki koddaki)  değişken ve etiketlerin kodun ilerleyen kısımlarında tanımlanma ihtimalidir. Bu durumda kodun geri dönerek daha sonradan tanımlanan bilgilerin önceki adreslere yazılması mümkün olmaz. Tek geçişli çeviricilerde bu problemi çözmek için iki farklı yöntem kulllanılabilir: 1. İleride […]

Devam

Çok Geçişli Çeviriciler (Multipass Assemblers)

Yazan : Şadi Evren ŞEKER Bir çeviricinin ( assembler ) ikiden1 fazla kere kodun üstünden geçen halidir. Buna göre bir çeviricinin kod üretirken bilinmeyen dizgilerin (kelime veya yazıların) anlamalarının her geçişte (pass) çıkarılarak bir sonraki geçişlerde kullanılmasını hedefler. Örneğin aşağıdaki kod örneğini ele alalım: A EQU B B EQU D C EQU D D DS […]

Devam

Konumlandırılabilir Kod (Relocatable Code)

Yazan : Şadi Evren ŞEKER Üretilecek olan makine kodunun hafızada (RAM) herhangi bir yere yerleştirilebilir olması durumudur. Buna göre normalde her programın sabit bir adres tanımı ve bu adres tanımına göre kod içerisinde adres değerlerini içeren komutların bulunması mümkündür. İşte konumlandırılabilir kod bu zorunluluğu kaldırarak hafızanın istenildiği gibi kullanılabilmesini sağlar ve kodun istenen hafıza adresin […]

Devam

RMI (Remote Method Invocation, Uzaktan Metod Çağırma)

Yazan : Şadi Evren ŞEKER Dağıtık programlamanın bir parçası olan RPC( Remote Procedure Call ) üzerine inşa edilmiş olan ve nesne yönelimli programlama akımıyla birlikte gelişmiş olan RMI yaklaşımı basitçe bir kodun bir parçası olan methodun başka bir kod tarafından çağrılmasını sağlar. Temel olarak sistemde rmiregistry ismi verilen bir kayıt üzerinde RMI için çağrılması uygun […]

Devam

Kütük (stub, nesne vekili, object Proxy)

Yazan : Şadi Evren ŞEKER Nesne yönelimli programlamanın gelişmesiyle birlikte dağıtık nesne mimarisi denilen bir kavram gün yüzüne gelmiştir. Bu kavrama göre bir nesne yönelimli projeyi farklı bilgisayarlar üzerinde dağıtmak ve projenin bu farklı bilgisayarlar üzerindeki farklı nesneler ile iletişim kurmasını sağlamak mümkündür. Bu işlem için örneğin JAVA dilindeki RMI (uzaktan metod çağırma , remote […]

Devam

Tip İnkılabı (Tip Dönüştürme, Type Casting)

Yazan : Şadi Evren ŞEKER Programlama dilinde bir değişkenin (variable) tipinin değiştirilmesi anlamındadır. Temel olarak değişkenlerin tanımlandığı andan itibaren bir tipi bulunur. Bunun her ne kadar bazı dillerde istisnası olsa da (php, visual basic, perl gibi) bu dillerde de değişkenin tipi yine de tipsiz olarak belirtilmektedir. İşte tanımlama sırasında sahip olunan tipin daha sonradan değiştirilmesi […]

Devam