Neden bir derleyicinin çıktısına nesne kodu denir?


13

Hackerlar ve Ressamlar'da yayınlanan Paul Graham tarafından açıklanan Programlama Dilleri makalesinden :

Derleyiciyi beslediğiniz üst düzey dile kaynak kodu da denir ve oluşturduğu makine dili çevirisine nesne kodu denir .

Gönderen nesne kodu Vikipedi'ye :

Nesne kodu veya bazen nesne modülü, bir bilgisayar derleyicisinin ürettiği şeydir.

Gönderen 'derleyici' tanımı :

Geleneksel olarak, derlemenin çıktısına nesne kodu veya bazen bir nesne modülü denir. (Buradaki "nesne" teriminin nesne yönelimli programlama ile ilgili olmadığını unutmayın.)

Peki nesne terimi ne ile ilgilidir?


2
Bir derleyicinin makine kodu oluşturmak zorunda olmadığını unutmayın. Daha düşük bir soyutlama seviyesine sahip olmak gelenekseldir, aksi takdirde normal olarak çevirmen denir.

2
Nesne kodu hakkında birbirleriyle iletişim kurması gereken ilk iki kişi, ona ne diyeceğini bilmiyordu, bu yüzden çok genel bir terimi benimsediler.
semaj

RetroComputing'de iyi insanlar.Bunu daha iyi anlayabilirler.
Roger

Yanıtlar:


10

Nesne kodu bazen hedef kod olarak da adlandırılır , çünkü derleyiciler tarafından yapılan çeviri işleminin hedef sonucudur. Dolayısıyla "nesne kodu", "kaynak kod" un tersi olarak kullanılır.

Derleyici dünyasında başka garip isimler var: örneğin, programınızın ikili koduna sahip dosyanın segmentine genellikle "metin segmenti" denir.


1
Neden "metin" diye bir fikrin var mı? Tarihsel kökeninde olduğu gibi?
nielsbot

@nielsbot: Ben sadece değişkenlerin depolandığı "veri segmenti" aksine, "metin segmenti" orijinal (ne derleme önce) metin, yani programın kodunu içeren olduğunu düşünüyorum.
Michael Borgwardt

8

"Objektif" te olduğu gibi nesne. “Şey” olarak itiraz değil.

Dasblinkenlight'ın "hedef kod" olarak adlandırılmasına verdiği cevaba benzer. Derleyicinin hedefi veya amacıdır.


1
Buna katıldığımdan emin değilim.
Martin York

1
Bana doğru geliyor. Her zaman derleyicinin hedefi bağlamında ifade edilir.
Lord Tydus

Evet, bu doğru cevap. Bir cümle içinde nasıl çalıştığını yansıtır, burada fiil derleyiciyi ( doer ) temsil eder, konu kaynak koddur ve nesne bu eylemin hedefi veya sonucudur (derleme). Bu nedenle "konu kodu" kaynaktır (derlemenin "konusu" olarak derleme işlemine tabi tutulur), "nesne kodu" ise hedeftir (derlemenin "hedefi").
BarbaraKwarc

1

Bir kaynak kodu derlediğinizde nesne kodu üretilir. Bu nesne kodu, çalıştırılması gereken kitaplıklara sahip olmadığı için henüz çalıştırılamıyor. Böylece birden fazla nesne kodunu ve kütüphaneyi bağlarsınız ve çalıştırılabilir hale gelir.

Anladığım kadarıyla " nesne ", bu kaynak kodu yazarak geliştirdiğiniz "şey" ile ilgilidir. Bir modül, sınıf, fonksiyon ya da herhangi bir şey olabilir.


-1

Nesne Kodu , Nesne Dosyasına aittir .

Erken Bilgisayar Bilimlerinde Nesne terimi "nesnel" (diğer bir deyişle "hedef") anlamına gelmez, bunun yerine nesnelerin bir özelliğini birbirinden farklı olarak kolayca tanınabilecek şekilde vurgular. Sıradan nesneleri tanımlamak ve konuşmak kolaydır, çünkü sınırları vardır. Sisin aksine ...

Sanal nesneler veri kaplarıdır.

Oturup bir kod yazmanız değil, bir şekilde Nesne Kodu . Hayır, ELF, COFF, XCOFF (ortak Nesne Dosyası formatları) okuma gereksinimlerini yerine getirirsiniz ve kodunuz bu gereksinime uyuyorsa, söylediğiniz gibi bir Nesne Kodu haline gelir .


-3

Normalde öğrenciler düşük seviyeli dili anlar veya düşük seviyeli dilde yazılmış bir programa "nesne kodu" denir. Derleyicinin çıktısının neden nesne kodu olarak adlandırıldığını anlamak için bir sorun var. Genel olarak çıktı, derleyici tarafından derlenen hedef olarak adlandırılır. Kaynak kodun amacı budur. Nesne kodunun düşük seviyeli dil programı olduğu anlamına gelmez. Sadece hedef oluşturmaktır, böylece hedef derleyici tarafından derlenen kaynak kodunun objektif ve objektifi ile ilgilidir ve bu yüzden derleyicinin çıktısına normalde "nesne kodu" denir. Çünkü düşük dil derleyici tarafından derlenmez. "Assembler" veya "interpreter" gibi çevirmenlerde düşük seviyeli bir dil vardır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.