Puan ders bitince hesaba yazılır. Bu dersi tamamlayınca +45 XP alacaksın. Giriş yapmadan ilerlersen puan yalnız bu tarayıcıda durur.
Derleyici ne yapar: kaynaktan makine koduna
Kaynak koddan çalışan dosyaya giden yol dört durakta işler. Ön işlemci başlık dosyalarını açar ve makroları yerine koyar. Derleyici kaynağı assembly diline çevirir. Çevirici assembly kodunu nesne dosyasına dönüştürür. Bağlayıcı parçaları ve kütüphaneleri birleştirir.
Bu zincirin her adımında bilgi kaybolur. Değişken adı ikinci durakta gider. Yorum satırı ilk durakta gider. Tip bilgisi kısmen kalır ama çoğu zaman yalnız boyut olarak. Elinde kalan tek şey davranıştır.
$ gcc -O0 ornek.c -o ornek_yavas
$ gcc -O2 ornek.c -o ornek_hizli
$ nm -D ornek_hizli | grep ' U '
U printf@GLIBC_2.2.5
U socket@GLIBC_2.2.5Derleme zinciri dört duraktan oluşur, ama üretilen dosya orada hâlâ çalışmaz. Bağlayıcı işini bitirdikten sonra ortaya çalıştırılabilir bir dosya çıkar; bu dosya diskte durur, henüz koşmaz. Yükleyici devreye girer, dosyayı belleğe yerleştirir ve giriş noktasına atlar. O andan sonra işlemci senin yazdığın kodu değil, bu dört duraktan geçmiş makine kodunu yürütür. Aynı kaynağın -O0 ve -O2 ile derlenmiş iki hali bile bu son adımdan farklı çıkar; nm çıktısındaki U harfli satırlar, bağlayıcının çalışma anına bıraktığı dış çağrıları gösterir.