"ölü dana eti" ne anlama geliyor?


91

"Ölü sığır" kelimesi ne anlama geliyor? Bir röportaj sorusundan okudum. İpv6 ile ilgisi var. "Hızlı kahverengi tilki tembel köpeğin üzerinden atlar" gibi örnekler için kullanılan rastgele bir onaltılık sayı olabileceğini düşündüm.

Anladığım doğru mu? Yoksa daha anlamlı bir anlamı mı var?


59
Benim için öğle yemeği zamanı!
FrustratedWithFormsDesigner

5
"DEADBEEF" onlarca yıl öncesine, hatta belki de internetten öncesine dayanıyor. (Sanırım onu ​​70'lerin sonlarında IBM'de kullanıyordum.) Bu sadece, onaltılık dökümlerde kolayca görülebilecek bir şekilde, serbest bırakılan veya başka bir şekilde erişilemeyen depolamayı işaretlemenin bir yolu.
Hot Licks

Yanıtlar:


106

http://en.wikipedia.org/wiki/Hexspeak
http://www.urbandictionary.com/define.php?term=dead%3Abeef

"Dead beef" programlamada çok popüler bir cümledir, çünkü yalnızca onaltılık gösterimde kullanılan af harflerinden yapılmıştır. Cümlenin başındaki ve ortasındaki iki nokta üst üste işareti bu cümleyi (teorik olarak) geçerli bir IPv6 adresi yapar.


45
Bağlantılı site artık mevcut olmasa bile yanıtların hala orada olduğundan emin olmak için. Wikipedia sürekli değişiyor ve bazı ülkelerde farklı nedenlerle ([çocuk] pornosu / "yanlış" gerçek) engellendi / engellendi. Bu nedenle, cevabınızı tek başına tutmak ve yalnızca ayrıntılı cevaplar / alıntılar için bağlantıları kullanmak en iyisidir. Sadece iki sentim.
josefx

46

Yalnızca AF harflerini kullanan uydurma bir ifadedir ve genellikle tanınabilir bir onaltılık sayı gerektiğinde kullanılır. Bazı sistemler, serbest bırakılan ve tekrar referans verilmemesi gereken belleği göstermek gibi çeşitli amaçlar için kullanır. Bir hata ayıklayıcıda bu değerin gösterilmesi, bir hata yaptığınızın bir işareti olabilir. Gönderen Vikipedi :

0xDEADBEEF ("ölü sığır") IBM RS / 6000 sistemleri, 32-bit PowerPC işlemcilerde Mac OS ve sihirli bir hata ayıklama değeri olarak Commodore Amiga tarafından kullanılır. Sun Microsystems'in Solaris'inde, serbestleştirilmiş çekirdek belleğini işaretler. Alpha işlemcilerde çalışan OpenVMS'de, DEAD_BEEF CTRL-T'ye basılarak görülebilir.

0xDEADBEEF sayısı, daha az tanınan 3735928559 (işaretsiz) veya -559038737 (işaretli) ondalık sayıya eşittir.


21
peki ya baş aşağı 55378008? (işaretsiz)
mVChr

Veya IPv4 adresi 222.173.190.239!
Alyssa Haroldsen

41

0xDEADBEEF'in değerinin, çoğunlukla eski sistemler için olmak üzere üç pratik faydası vardır. Benim gibi eski assembler / C hack'leri, bellek sorunlarını gidermek için ayrılmamış belleği doldurmak için kullanırdı. Ayrıca, "ölü et" argo teriminin bir kelime oyunu. Eğer DEADBEEF onun işaretçilerine girerse programcı ölmüş demektir. DEADBEEF değerini kullanmayı ilk düşünen adamı tebrik ediyorum. Birçok yönden zekice.

Pratik nedenlere gelince, ilk olarak, bir onaltılık bellek dökümünde daha belirgindir çünkü aslında rastgele onaltılı değerlerin aksine kelimeleri hecelemektedir.

İkincisi, değer bir işaretçide ortaya çıkarsa, bellek aralık dışı bir hataya neden olma olasılığı daha yüksektir. DEADBEEF'in bir adresi, sistemin endianı ne olursa olsun, sistemlerin adres aralığının dışındaydı (şimdi geçen yüzyılın sistemlerinden bahsediyoruz).

Üçüncüsü, 16/32/64-bit verilere erişmek için sınır işaretçi değerleri gerektiren sistemlerde bir hataya neden olma olasılığı daha yüksektir. 16 bitlik değerlerin (DEAD, BEEF) her ikisi de tek olduğundan, değerin hatalı olma olasılığı daha yüksektir.


1
Bu, bir süredir okuduğum en ilginç SO cevaplarından biri. Teşekkür ederim @BSalita!
Steve Jansen

19

IPv6-Adresleri Onaltılı gösterimde yazıldığından, Adreslerde "Hexspeak" (0-9 sayıları ve af harfleri) kullanabilirsiniz.

Bunları daha iyi anlamak için geçerli adresler olarak kullanabileceğiniz birkaç kelime var.

Eğer ping6 www.facebook.com -ngibi bir şey alacak "2a03: 2880: f01c: 601: Yüz: b00c : 0: 1".

İşte bazı örnekler:

  • : affe :: (Affe - Maymun için Almanca - yönetim kurulu için bir vlan'da görüldü)
  • : 1bad: bebeğim :: (bir kötü bebek - smtp-bal küpünde görüldü)
  • : badc: ab1e :: (bozuk kablo - güvenli olmayan bir vlan için alt ağ olarak görülür)
  • : da7a :: (Veri - dosya sunucuları için görülür)
  • : d1a1 :: (Dial - VPN Dial-In için görülür)


3

İnsanlar normalde bunu sahte değerleri belirtmek için kullanır. Öncelikle NULL işaretçileri fikrinden önce kullanıldığını düşünüyorum.


5
DEADBEEF genellikle serbest kalmış belleği işaretlemek için kullanılırdı, böylece sarkan bir işaretçi IIRC'ye sahip olduğunuzda açıkça görülebilir.
Chuck

2

Bu, çeşitli yerlerde kullanılan sihirli bir sayıdır çünkü aynı zamanda İngilizce olarak okunabilir ve öne çıkmasını sağlar. Wikipedia'da kısmi bir liste var .


2

Bellekte bir dizi onaltılık bayt (0xde, 0xad, 0xbe, 0xef) olarak saklamak için bir model olarak kullanıldı. Belleğin donanım arızası, arabellek aşımları vb. Nedeniyle bozulup bozulmadığını görebilirsiniz.


-1

0xDEADBEEF normalde bellek dizilerine doldurulur, böylece yanlış bir şekilde işaret edildiğinde herhangi bir istisna veya çalıştırma tamponlarını bilmek vb.


Bu görüş, herkesin kendi başına bir problemi olmayan ve haklı olabileceğini ancak kanıt olmadan bunu inanılmaz kıldığını umacağı görüşünden uzaktır.
shalomb
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.