İçeriğe atla

Hedef dosyası

Vikipedi, özgür ansiklopedi

Assembler (veya derleyici) tarafından assembly (veya derleme) sonucu oluşan ve makina kodu veya bytecode ile metadata içeren dosyaya hedef dosyası (object file) denir. Üretilmiş olan kod hedef kodudur.

Hedef kodu genelde doğrudan çalıştırılabilir değil, yerdeğiştirebilirdir. Bağlayıcı (linker) hedef kodlarını ve önceden derlenmiş sistem kütüphanelerini birbirine bağlar ve çalıştırılabilir programı oluşturur.

ELF, Mach-O, a.out, COFF gibi çeşitli hedef dosyası formatları mevcuttur. Aynı makina kodu farklı hedef dosyası formatında paketlenebilir. Hedef kodu paylaşılmış kütüphane (shared library) gibi çalışabilir.

Hedef dosyalarının geliştirilmesi, derlenen dillerin ortaya çıkmasıyla başlamıştır. Öncesinde, bilgisayarların oda büyüklüğünde olduğu dönemler, programlama makinaya özgü olan assembly dilinde yapılır ve doğrudan çalıştırılabilir kod oluşturulurdu. Fortran, Cobol gibi dillerin ortaya çıkışı, programcıların programlarını prosedürlerden oluşan kütüphaneler şeklinde düşünmelerine neden olmuştur. Bu durum assembler programının iki farklı zamanda (1. kütüphaneler için, 2. çalıştırılabilir kod için) çalıştırılmasını gerektirmiş, derlenen kütüphane dosyaları hedef dosyalarında tutulmuştur. Bu dosyaları bağlayıp, çalıştırılabilir kodu oluşturan ayrı bir programa ihtiyaç duyulmuş ve buna da linker (bağlayıcı) denmiştir.[1]

  1. ^ Taylor, Ian Lance. "Linkers part 1". www.airs.com. 9 Mart 2022 tarihinde kaynağından arşivlendi. Erişim tarihi: 15 Haziran 2024.