apa artinya "daging sapi mati"?

91

Apa arti kata "daging sapi mati"? Saya membacanya dari pertanyaan wawancara. Ini ada hubungannya dengan ipv6. Saya pikir itu bisa menjadi nomor hex acak yang digunakan untuk contoh, seperti "Rubah coklat cepat melompati anjing malas".

Apakah pemahaman saya benar? Atau memiliki arti yang lebih signifikan?

Xi 张 熹
sumber
59
Bagi saya itu berarti waktu makan siang!
FrustratedWithFormsDesigner
5
"DEADBEEF" sudah ada selama beberapa dekade, bahkan mungkin sebelum Internet. (Saya rasa saya menggunakannya di akhir tahun 70-an di IBM.) Ini hanya cara untuk menandai, dengan cara yang mudah terlihat di hex dump, penyimpanan yang tidak dialokasikan atau tidak untuk diakses.
Hot Licks
1
@HotLicks: memang, catb.org/jargon/html/D/DEADBEEF.html
Olivier Dulac

Jawaban:

106

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

"Dead beef" merupakan kalimat yang sangat populer dalam pemrograman, karena dibuat hanya dari huruf af, yang digunakan dalam notasi heksadesimal. Titik dua di awal dan di tengah kalimat membuat kalimat ini menjadi alamat IPv6 (secara teoritis) valid.

Dustin Laine
sumber
45
untuk memastikan bahwa jawabannya masih ada bahkan setelah situs yang ditautkan tidak ada lagi. Wikipedia selalu berubah dan / telah diblokir di beberapa negara karena alasan yang berbeda (pornografi [anak] / kebenaran yang "salah"). Jadi yang terbaik adalah membuat jawaban Anda berdiri sendiri dan hanya menggunakan tautan untuk jawaban / kutipan terperinci. Hanya dua sen saya.
josefx
46

Ini adalah ekspresi yang dibuat hanya dengan menggunakan huruf AF, yang sering digunakan saat diperlukan angka heksadesimal yang dapat dikenali. Beberapa sistem menggunakannya untuk berbagai keperluan seperti menunjukkan memori yang telah dibebaskan dan tidak boleh dirujuk lagi. Dalam debugger, nilai yang muncul ini bisa menjadi tanda bahwa Anda telah membuat kesalahan. Dari Wikipedia :

0xDEADBEEF ("daging mati") digunakan oleh sistem IBM RS / 6000, Mac OS pada prosesor PowerPC 32-bit dan Commodore Amiga sebagai nilai debug ajaib. Pada Solaris Sun Microsystems, ini menandai memori kernel yang telah dibebaskan. Pada OpenVMS yang berjalan pada prosesor Alpha, DEAD_BEEF dapat dilihat dengan menekan CTRL-T.

Angka 0xDEADBEEF sama dengan angka desimal yang kurang dikenal 3735928559 (unsigned) atau -559038737 (ditandatangani).

Mark Byers
sumber
21
tapi bagaimana dengan 55378008 terbalik? (unsigned)
mVChr
Atau alamat IPv4 222.173.190.239!
Alyssa Haroldsen
41

Nilai 0xDEADBEEF memiliki tiga manfaat praktis, kebanyakan untuk sistem lama. Peretasan assembler / C lama, seperti saya, akan menggunakannya untuk mengisi memori yang tidak terisi untuk mengatasi masalah memori. Juga, itu pelesetan dari istilah gaul "daging mati". Programmer adalah daging mati jika DEADBEEF mengakhiri petunjuknya. Saya mengucapkan selamat kepada orang yang pertama kali berpikir untuk menggunakan nilai DEADBEEF. Itu pintar dalam banyak hal.

Adapun alasan praktis, pertama, ini lebih terlihat dalam dump memori hex karena sebenarnya mengeja kata-kata sebagai lawan nilai hex acak.

Kedua, jika nilai berakhir di pointer, itu lebih mungkin untuk menyebabkan kesalahan memori di luar jangkauan. Alamat DEADBEEF berada di luar kisaran alamat sistem (kita sedang membicarakan sistem abad terakhir sekarang) terlepas dari endian sistem.

Ketiga, ini lebih mungkin menyebabkan kesalahan pada sistem yang membutuhkan nilai penunjuk batas genap untuk mengakses data 16/32/64-bit. Nilainya lebih cenderung gagal karena kedua nilai 16 bit (DEAD, BEEF) ganjil.

BSalita
sumber
1
Ini adalah salah satu jawaban SO paling menarik yang pernah saya baca dalam beberapa waktu. Terima kasih @BSalita!
Steve Jansen
19

Sejak IPv6-Alamat ditulis dalam Hex-notation Anda dapat menggunakan "Hexspeak" (angka 0-9 dan huruf af) di Alamat.

Ada sejumlah kata yang dapat Anda gunakan sebagai alamat yang valid untuk membuatnya lebih momor.

Jika Anda ping6 www.facebook.com -nakan mendapatkan sesuatu seperti "2a03: 2880: f01c: 601: face: b00c : 0: 1".

Berikut beberapa contohnya:

  • : affe :: (Affe - Jerman untuk Monyet - dilihat di vlan untuk dewan manajemen)
  • : 1bad: babe :: (one bad babe - seen at a smtp-honeypot)
  • : badc: ab1e :: (kabel buruk - dilihat sebagai subnet untuk vlan yang tidak aman)
  • : da7a :: (Data - terlihat untuk server file)
  • : d1a1 :: (Dial - dilihat untuk Dial-In VPN)
Martin Seitl
sumber
3

Orang biasanya menggunakannya untuk menunjukkan nilai dummy. Saya pikir itu terutama digunakan sebelum gagasan pointer NULL.

Anak anjing
sumber
5
DEADBEEF biasanya digunakan untuk menandai memori yang dibebaskan sehingga akan terlihat jelas saat Anda memiliki IIRC penunjuk yang menggantung.
Chuck
2

Ini adalah angka ajaib yang digunakan di berbagai tempat karena kebetulan juga dapat dibaca dalam bahasa Inggris, membuatnya menonjol. Ada sebagian daftar di Wikipedia .

dsolimano.dll
sumber
2

Itu digunakan sebagai pola untuk menyimpan dalam memori sebagai serangkaian byte hex (0xde, 0xad, 0xbe, 0xef). Anda dapat melihat apakah memori rusak karena kegagalan perangkat keras, buffer overruns, dll.

Larry
sumber
-1

0xDEADBEEF biasanya diisi dalam array memori sehingga setiap pengecualian ketika salah menunjuk atau untuk mengetahui buffer over berjalan dll.,

msathia.dll
sumber
Pandangan ini jauh dari pandangan yang diharapkan setiap orang yang tidak memiliki masalah sendiri dan bisa jadi benar tetapi tanpa bukti membuatnya sulit dipercaya.
shalomb