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?
Jawaban:
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.
sumber
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 :
Angka 0xDEADBEEF sama dengan angka desimal yang kurang dikenal 3735928559 (unsigned) atau -559038737 (ditandatangani).
sumber
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.
sumber
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 -n
akan mendapatkan sesuatu seperti "2a03: 2880: f01c: 601: face: b00c : 0: 1".Berikut beberapa contohnya:
sumber
Ini juga digunakan untuk tujuan debugging.
Berikut adalah daftar praktis dari beberapa nilai ini:
http://en.wikipedia.org/wiki/Magic_number_%28programming%29#Magic_debug_values
sumber
Orang biasanya menggunakannya untuk menunjukkan nilai dummy. Saya pikir itu terutama digunakan sebelum gagasan pointer NULL.
sumber
Ini adalah angka ajaib yang digunakan di berbagai tempat karena kebetulan juga dapat dibaca dalam bahasa Inggris, membuatnya menonjol. Ada sebagian daftar di Wikipedia .
sumber
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.
sumber
0xDEADBEEF biasanya diisi dalam array memori sehingga setiap pengecualian ketika salah menunjuk atau untuk mengetahui buffer over berjalan dll.,
sumber